我想在Xamarin.Forms中使用Onion Architecture .
我已经看过这个xDriven项目,但它并没有多大帮助 .
这是我目前的解决方案:
如果我要改变以下内容,请纠正我:
从SSW Rules Post here开始,我想
-
我的模型应该进入Domain
-
IWebService
应该进入存储库接口 -
其他与处理相关的服务应该放在业务逻辑接口中
-
TestIoc Portable项目将是客户端(或最外层)
-
服务的实施应该在洋葱之外
现在,
-
我的助手应该去哪里?
-
我的自定义控件应该放在哪里?
-
ViewFactory的所有内容怎么样?
-
Ioc模块和Bootstrapper怎么样?他们应该在另一个项目吗?现在,引导程序创建Ioc容器,注册模块等 .
1 回答
洋葱架构背后的想法是拥有一个中央应用程序核心,除此之外的每一层都是一个只能在前往核心的方向上引用的界面 . 因此,如何在项目中进行布局取决于您,您的想法是仅在一个方向上引用,而域模型仅引用自身,存储库是外部基础结构 .
与您的助手 . 他们的帮手是什么?将它们放在他们帮助的层中 .
自定义控件是UI图层,它是外部图层 .
ViewFactory看起来很好 . IViewFactory在使用它来创建视图时是什么内部引用 .
他们不需要在另一个项目中 . 它不是关于项目结构,而是关于代码如何组合在一起 . 如果您有其他项目包含您需要注入的服务实现,则可以将它们放入另一个项目中 .