标签: dependency-injection architecture onion-architecture
在Onion Architecture中,依赖性规则是由内而外的,箭头表示外层依赖于下层,如下图所示:
在现实世界中,假设我们的项目结构如下:
问题是箭头是什么意思,或者我设置的解决方案不正确?如果是,您能帮我指出吗?
谢谢
答案 0 :(得分:2)
在这种情况下,箭头将作为参考方向;例如,在C#中,所有内容都将引用域实体,但是域实体将不包含对任何内容的引用。
这样做的好处是您不会将任何基础架构逻辑与域逻辑混合在一起,实际上使这成为不可能,因为您的域甚至都不知道ORM之类的东西甚至数据库是什么。
再往前走,您的服务层会知道您的域中存在哪些对象,因此可以设置一个接口来保留您的域对象,但无法将ORM中的对象返回给它;具体的实现将是唯一知道如何持久化域对象的方法,并且必须在返回域对象之前将其从形式转换为域对象。