- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在为即将推出的内部应用程序设置项目结构,以试用巴勒莫 (http://jeffreypalermo.com/blog/the-onion-architecture-part-3/) 提出的洋葱架构。
我遵循了他的指导方针,但是到目前为止,我需要对项目的结构进行一些验证。
在图表之前,问题:
我认为引用文献都是正确的(根据图表设置,其中箭头表示“引用”)但一些验证会很好。
我应该在我的依赖解析层中放入什么?这是哪里 helper 去?这对所有其他项目都有引用?
Web 服务和 UI 如何与 DAL 通信? (通过内核?如何?)
应该去哪里? [我知道的广泛问题...]
简化概念图如下(文件夹代表命名空间):
最佳答案
I think the References are all correct (set up as per the diagram where an arrow means 'has a reference to') but some verification would be good.
1 看起来不错,但我不确定在图中插入依赖项解析是不是个好主意。
What should I put in my dependency resolution layer? Is this where Helpers go? This has a reference to all other projects?
2 我相信依赖注入(inject)的东西会在这里。
How do the web services & UI, communicate with the DAL? (Through the core? How?)
3 根据巴勒莫的图,它是核心。在核心中,您将拥有与 DAL 和领域模型对话的存储库,以及处理存储库和领域模型的服务(而非 Web 服务)。而 UI/Web 服务将主要与服务对话。
What should go where? [Broad question I know...]
4 同样,我认为答案在巴勒莫的图表中。但在我看来,如果对架构有充分的了解,组织项目可能会变得不同且微不足道。
一旦我理解了 DDD 和必要的设计模式(如 MVC、依赖注入(inject)、存储库/服务、ORM),洋葱架构对我来说就变得显而易见了。
关于c# - 洋葱建筑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6771665/
我无法理解六边形(端口适配器)架构中依赖的含义。 Here他们有漂亮的照片。我没有看到的是与 n 层结构有什么区别(实现)。 在 onion/hex 架构中,inner 层应该独立于outer 层,但
我是一名优秀的程序员,十分优秀!