Sitecore 避免模块依赖于要素层的最佳体系结构模式

Sitecore 避免模块依赖于要素层的最佳体系结构模式,sitecore,sitecore-mvc,helix,Sitecore,Sitecore Mvc,Helix,我想得到一些关于架构模式的建议,以避免模块依赖于功能层 每个网站都有一些内容页面,比如文章或新闻。这些可以作为功能/文章模块或功能/新闻模块进行管理。两者都有共同的字段,如标题、摘要和图像 现在,我已经创建了一个Feature/FeaturedContent模块。其中我有一个带有自己模板的滑块。但内容作者希望从文章或新闻部分选择和挑选项目 其中仅使用标题、摘要和图像 连接不同模块中的项目很容易,但是当我使用@Html.Sitecore().Field(模板)呈现它时,我不会有这些字段(标题、摘要

我想得到一些关于架构模式的建议,以避免模块依赖于功能层

每个网站都有一些内容页面,比如文章或新闻。这些可以作为功能/文章模块或功能/新闻模块进行管理。两者都有共同的字段,如标题、摘要和图像

现在,我已经创建了一个Feature/FeaturedContent模块。其中我有一个带有自己模板的滑块。但内容作者希望从文章或新闻部分选择和挑选项目 其中仅使用标题、摘要和图像

连接不同模块中的项目很容易,但是当我使用@Html.Sitecore().Field(模板)呈现它时,我不会有这些字段(标题、摘要和图像,因为每个模块中这些字段的ID不同)在我的Feature/FeatureContent模板上。我不能引用Feature层下的其他模块。我不能添加这些字段,因为这些字段不属于FeatureContent模块。这是因为不允许在Feature层下的模块之间存在依赖关系

我想得到一些关于如何解决这个问题的建议。 我当然愿意让内容作者从不同的特征模块中重用内容。我想我必须把公共字段移到基础。
非常感谢您提供的任何建议。首先,我们不鼓励在功能层中存在一些相互依赖,但并非不可能。显然,这会影响模块耦合,因此应尽可能避免

在您的特殊情况下,我认为应该使用“接口标记模板”创建一个公共基本功能,其中包含您需要的3个公共字段和支持的Glass基类(或其他类似ORM代码)。然后,该模块将成为文章和新闻功能的依赖项


虽然这在技术上仍然是一个耦合问题,但它仍然符合我们的坚实原则,从某种意义上说,它仍然是自上而下的。很有可能把它标记为一个基础模块,但实际上它不是这样的,我会阻止这种想法(如果你想拥有它)。。将其视为更大功能层中的一个内部子层

我对功能层中的模块依赖性有很大的反对意见。lol。似乎在Project/Common下是我应该使用的地方。