具有Autofac的Xamarin.Forms中的洋葱架构

时间:2015-11-02 09:47:17

标签: autofac xamarin.forms onion-architecture

我想在Xamarin.Forms中使用Onion Architecture。

我已经在使用Autofac for Ioc了。我见过这个xDriven项目,但它并没有多大帮助。

这是我目前的解决方案:

enter image description here

如果我要改变以下内容,请纠正我:

来自SSW Rules Post here,我认为

  • 我的模型应该进入域
  • IWebService应该进入存储库接口
  • 其他与处理相关的服务应该放在业务逻辑接口
  • TestIoc Portable项目将是客户端(或最外层)
  • 服务的实施应该在洋葱之外

现在,

  1. 我的助手应该去哪儿?
  2. 我的自定义控件应该放在哪里?
  3. ViewFactory的所有东西怎么样?
  4. Ioc模块和Bootstrapper怎么样?他们应该在另一个项目吗?现在,引导程序创建Ioc容器,注册模块等

1 个答案:

答案 0 :(得分:1)

Onion架构背后的理念是拥有一个集中的应用程序核心,除此之外的每一层都是一个只能在前往核心的方向上引用的接口。因此,如何在项目中进行布局取决于您,您的想法是仅在一个方向上引用,而域模型仅引用自身,存储库是外部基础结构。

  1. 与您的助手。他们的帮手是什么?将它们放在他们帮助的层中。

  2. 自定义控件是UI图层,它是外部图层。

  3. ViewFactory看起来很好。 IViewFactory是使用它来创建视图时的任何内部引用。

  4. 他们不需要在另一个项目中。它不是关于项目结构,而是关于代码如何组合在一起。如果您有其他项目包含您需要注入的服务实现,则可以将它们放入另一个项目中。