领域驱动思想和三层架构有啥区别?
感觉三层架构中的数据访问层,类似领域驱动中的Repository,只不过把每个访问类独立出来了而已。
领域层封装了些业务逻辑,也类似三层中的业务逻辑层,只不过以服务的形式体现了。
应用层对领域层做个封装,形成WebService之类的服务。算是把业务逻辑层分成了两个部分。
感觉领域驱动和普通三层的区别就是把业务逻辑部分以服务的形式体现。
这种理解是不是有什么问题?
------解决方案--------------------晕死。
“三层”,只需要两页纸就能完毕了。而“领域驱动”,需要写上3本书(且不管是否实用)也不一定能描述完所有的原理。
这就好像说一个是“把耳钉戴在耳朵上”,另一个是“什么叫做审美”。
初学者往往夸张了“三层”概念,没完没了地重复这种简单的议题。
------解决方案--------------------1.没有可比性
2.你过于拘泥手段,那些手段和思维方式一致
3.一种思维方式一种手段,选择一个合适你的思维方式的东西做为你的手段就可以了,不需要盲目追高,这东西讲究水涨船高,你思维方式到了,你的手段自然就跟着变了
4.有关领域中文翻译有点问题,就像对象一样,多少人执着与对象的中文含义,忘了E文里object的其实代表着“物体,物品,存在”这种原始含义,而领域domain在E文里是“域,范围”,而你也接触到很多域的东西“应用程序域,变量作用域,函数作用域”,不知道这样说你明白没有,不是什么分了多少层,也不是什么和普通3层如何如何,关键是你的在你思维方式下怎么去看你业务的范围和各种的“作用域、应用域”
------解决方案--------------------领域驱动,这个翻译很拗口,其实说的是让领域建模去指挥和指导整个开发工作。
换一句话说,领域驱动这个词代表的是一种流程,这就好比我们说政府应该转变观念,“以服务百姓为宗旨”,这和“服务百姓”本身不是一回事,前者是说,把服务百姓当作一个目标,然后具体的工作围绕它来展开。后者并没有强调将这个做为目标。