有帮助吗?

解决方案

您是正确的,你不想基础设施依赖于UI(网页),但我有时会打破这个规则。

我反而认为IViewModelMapping的,创建方法地图IMapper()。然后,该接口可以有可能与视图模型映射,或者只是普通的映射做的实现。无论哪种方式,该接口可以是核心,因为它不是语义上束缚于任何类型的模型。

大的图形。我希望我回答你的问题的肉。洋葱结构的总体理念是保持业务逻辑和模型在应用程序的中间(核心)和推动你的依赖性远向外越好。

其他提示

尝试移动的对象映射网络层。

您的Web / UI层可取决于基础设施层上。但它不是一个好的设计有基础设施层上网络的依赖。洋葱建筑说把你的依赖就向外越好。

您可以创建在用户界面中“\制作工具”文件夹中。添加一个接口文件中它,例如.. IBuilder或IMapper和在它宣布像ConvertToViewModel或CreateMapping的方法。无论你喜欢。

*生成器 ** IBuilder.cs这里-declare的方法。 ** Builder.cs - - 这里实施的方法中,一个ViewModel之间限定映射和它的相应的DomainModel(从核心层参考)和这里返回适当视图模型。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top