Jon*_*Jon 2 architecture orm domain-driven-design
我已经读过有很好的设计模式可以解决以下冲突的要求:1.)域模型(DM)不应该依赖于其他层,如UI和数据持久层.2.)DM需要与UI和数据持久层交互.哪种模式可以解决这种冲突
我不确定你是否可以称之为设计模式,但我相信你所寻找的是依赖倒置原则(DIP).
该原则指出:
A.高级模块不应该依赖于低级模块.两者都应该取决于抽象.
B.抽象不应该依赖于细节.细节应取决于抽象.- 维基百科
当您将此原则应用于传统的分层架构时,您最终会得到广泛采用的洋葱/六角形/端口和适配器/等等.建筑.
例如,代替Presentation -> Application -> Domain -> Infrastructure
域依赖于基础结构详细信息的传统,您可以反转依赖关系并使Infrastructure层依赖于Domain层中定义的接口.这允许域除了自身之外不依赖于其他任何东西.
DM需要与UI交互
关于这一点,我看不到域应该知道UI的任何场景.