hybris populators 和 converters 概念及其关系
hybris populators and converters concept and their relationship
有人可以解释一下 Hybris 中使用的 converters 和 populators 的概念吗?我正在研究 Hybris 中 AddOns 的概念,但是在我们在 Hybris 商业加速器中使用 AddOns
之后,其中一个要点说 "You can plug populators into existing converters without having to redefine them"?所以我觉得先了解这些概念比较好。
简而言之,转换器用于从(大部分)模型对象创建数据对象 (DTO),填充器用于填充 dto。
您将在此处找到有关版本 5 的这两个概念的非常好的文档:
https://wiki.hybris.com/display/release5/Converters+and+Populators
这里是版本 6:
https://help.hybris.com/6.0.0/hcd/8b937ff886691014815fcd31ff1de47a.html
(如果您还没有 wiki 访问权限,您应该获取它,因为 https://experts.hybris.com 的 wiki 和专家论坛是获得大量答案的两个重要资源)。
干杯!
您应该先为填充器创建对象,而转换器创建目标对象然后自动填充它。
//converter example
Target target = targetConverter.convert(source);
List<Target> targetList = sourceList.toStream().map(s->targetConverter.convert(s));
//Populator example
Target target = new Target();
targetPopulator.populate(source, target);
Hybris 转换器由特定类型的填充器列表组成,这使您可以在为特定类型创建填充器的方式中保持一定的模块化,而不必为单个填充器承担太多责任.
除此之外,您可以使用可配置的转换器,您可以在其中定义通过的常量,这些常量允许执行某些填充器,例如您不想填充所有的产品列表产品领域。
最后,我还建议查看 hybris 帮助页面并反编译 hybris 源代码,以便更好地了解它们的实现。
希望对您有所帮助!
有人可以解释一下 Hybris 中使用的 converters 和 populators 的概念吗?我正在研究 Hybris 中 AddOns 的概念,但是在我们在 Hybris 商业加速器中使用 AddOns
之后,其中一个要点说 "You can plug populators into existing converters without having to redefine them"?所以我觉得先了解这些概念比较好。
简而言之,转换器用于从(大部分)模型对象创建数据对象 (DTO),填充器用于填充 dto。
您将在此处找到有关版本 5 的这两个概念的非常好的文档: https://wiki.hybris.com/display/release5/Converters+and+Populators
这里是版本 6: https://help.hybris.com/6.0.0/hcd/8b937ff886691014815fcd31ff1de47a.html
(如果您还没有 wiki 访问权限,您应该获取它,因为 https://experts.hybris.com 的 wiki 和专家论坛是获得大量答案的两个重要资源)。
干杯!
您应该先为填充器创建对象,而转换器创建目标对象然后自动填充它。
//converter example
Target target = targetConverter.convert(source);
List<Target> targetList = sourceList.toStream().map(s->targetConverter.convert(s));
//Populator example
Target target = new Target();
targetPopulator.populate(source, target);
Hybris 转换器由特定类型的填充器列表组成,这使您可以在为特定类型创建填充器的方式中保持一定的模块化,而不必为单个填充器承担太多责任.
除此之外,您可以使用可配置的转换器,您可以在其中定义通过的常量,这些常量允许执行某些填充器,例如您不想填充所有的产品列表产品领域。
最后,我还建议查看 hybris 帮助页面并反编译 hybris 源代码,以便更好地了解它们的实现。
希望对您有所帮助!