我正在为即将到来的内部应用程序建立一个项目结构,以试用由Palermo提出的Onion Architecture(http://jeffreypalermo.com/blog/the-onion-architecture-part-3/)。

我遵循了他的指导方针,但是到目前为止,我需要对项目的结构进行一些验证。

在图表之前,存在以下问题:

  • 我认为引用文献都是正确的(按照图中的箭头指示“有引用文献”进行设置)
    但可以进行一些验证。
  • 我应该在依赖项解析层中放入什么?这是哪里
    helper 去?这对所有其他项目都有引用吗?
  • Web服务和UI如何与DAL通信? (通过核心?如何?)
  • 应该去哪里? [我知道的广泛问题...]

  • 简化的概念图如下(文件夹代表 namespace ):

    最佳答案



    1看起来还可以,但是我不确定将依赖关系解析插入到图中是一个好主意。



    2我相信依赖注入(inject)的东西会在这里。



    3它是根据巴勒莫图的核心。从根本上讲,您将拥有与DAL和域模型相关的存储库,以及与存储库和域模型相关的服务(而非Web服务)。 UI/Web服务将主要与服务对话。



    4同样,我认为答案就在巴勒莫的图中。但是我认为,如果对架构有充分的了解,组织项目可能会变得不同而琐碎。

    一旦我了解了DDD和必要的设计模式(例如MVC,依赖注入(inject),存储库/服务,ORM),洋葱体系结构就变得显而易见。

    10-06 09:54