领域驱动分层关系的疑惑

12-11-22 linq
看到 领域驱动设计精简版 开始部分有一个图,一直不解

1.图中的箭头是什么意思,是引用关系?

2.UI层为什么跳过应用层会直接引用 Domain层,1数字位置?

3. 2 数字位置,为什么有 两根箭头, 难道 a 、b 代表不一样,其它层也是一样,有多个框。

[该贴被linq于2012-11-22 11:50修改过]


              

3
banq
2012-11-22 20:08
这是一个架构分层图,分层实际上是一种逻辑分层思路,每一层只依赖其下面的层,现实世界到处存在这样分层概念,比如身体的思维是依赖其生理层,食物链也是一个层次关系,往大里说,层次是世界的一个本质,逻辑上使用分层,可以不断封装,减少依赖,最高层甚至和最低层完全脱离关系,由于分层导致人工智能发展,人工智能和芯片的0与1最底层几乎没有关系。

讲这么多废话,回答你的问题,图中箭头表示一种依赖访问,a b代表两种不同类型的UI,有的可以直接访问应用层,有的可以跳过应用层直接访问领域层,比如我们访问一个领域模型对象的集合到界面,界面需要遍历这个集合,就直接访问到了领域层,这是1的作用。

基础设施层不但有各种数据库,关系或NoSQL,还有消息接口或数据接口,如果界面直接访问设施层,比如数据库,这是通过SQL,这也是CQRS的一种实现机制。

clonalman
2012-11-22 20:44
2012-11-22 20:08 "@banq"的内容
层次是世界的一个本质 ...

世界是没有分层,分层只是人认识世界的手段,分函数、分单元、分页面、分层、分模块、分子系统、分系统等等,都是思维的产物,与分而治之同时诞生的另一个产物是“依赖”,没有“分”也就没有“依赖”

[该贴被clonalman于2012-11-22 20:50修改过]

banq
2012-11-23 07:49
2012-11-22 20:44 "@clonalman"的内容
世界是没有分层,分层只是人认识世界的手段 ...

讲的有道理,但这只是表面,我说“世界本质是分层的”是有背景意义的,因为我是人,人思维说出这句话的时候,其Context已经是从人的认识意识出发产生的结论。

当你说世界是没有分层,其隐式背景也是人的认识,除非我们碰到外星人,外星人告诉我们世界是另外什么样,否则我们永远不知道真正世界本质是什么,我们说谈论的物质完全是意识的,物理上薛定谔猫论说明了观察与被观察的关系,现代哲学已经确立离开人的认识讨论世界已经没有意义,所谓唯物论只是自欺欺人而已。

兄弟,不是我想与你抬杠,实在我比较喜欢讨论这个话题。呵呵。如果有兴趣,我们再开贴讨论。

linq
2012-11-23 09:44
谢谢

第二个问题,如果UI层直接引用了Domain层,那不是 领域中的对象UI层可以直接访问了

还有 UI层可以直接对领域层对象产生引用,这个跟 领域对象的生命周期应该不合吧,领域对象的引用一般只在领域层吧,望指点..

猜你喜欢
3Go 1 2 3 下一页