我正在为即将到来的内部应用程序设置一个项目结构,该应用程序试验了Palermo(http://jeffreypalermo.com/blog/the-onion-architecture-part-3/)提出的洋葱架构。
我遵循了他的指导方针,但到目前为止我需要对项目结构进行一些验证。
在图表之前,问题是:
我认为引用都是正确的(根据图表设置箭头表示'引用') 但有些验证会很好。
我应该在依赖关系解析层中添加什么?这是在哪里 帮手走了吗?这引用了所有其他项目?
网络服务&用户界面,与DAL沟通? (通过核心?如何?)
应该去哪里? [我知道的广泛问题......]
简化的概念图如下(文件夹代表名称空间):
答案 0 :(得分:7)
我认为参考文献都是正确的(根据图表设置箭头表示'引用'),但有些验证会很好。
1看起来不错,但我不确定将依赖关系解析插入图表中是个好主意。
我应该在依赖关系解析层中添加什么?这是帮助者去的地方吗?这引用了所有其他项目?
2我相信依赖注入的东西会在这里。
网络服务&用户界面,与DAL沟通? (通过核心?如何?)
3根据巴勒莫的图表,它是核心。在核心中,您将拥有与DAL和域模型以及处理存储库和域模型的服务(而非Web服务)的存储库。 UI / Web服务主要与服务进行通信。
应该去哪里? [我知道的广泛问题......]
4同样,我认为答案在巴勒莫的图表中。但在我看来,当对架构有充分的了解时,组织项目可能会有所不同而且微不足道。
一旦我理解了DDD和必要的设计模式,如MVC,依赖注入,存储库/服务,ORM,洋葱架构就变得很明显了。
答案 1 :(得分:6)