为何领域模型裸奔有其必要?(下)

2026-05-27 05:340阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2249个文字,预计阅读时间需要9分钟。

为何领域模型裸奔有其必要?(下)

上篇章节引出不少有价值的研究反馈,我也学到不少东西,谢谢大家。

补充说明:

1.由于基本所有人毕业后从事的项目都是业务逻辑复杂的商业应用软件,如ERP、SCM、HRP、CRM等。

  上篇文章引起不少有价值的回复,我也学到不少东西,谢谢大家。

  在此对上篇做下补充说明:

  1,因本人毕业以来从事的项目全是业务逻辑复杂的企业应用软件,ERP,SCM,HRP,CRM……,这种系统,如Martin Fowler在PEAA一书中所说,是适合使用Domain Model的,上文和本篇讨论的都是基于这样的场景和前提。

  2,正如一哥们回复中说的,天下没有绝对的东西,我们都在写随笔,不是写论文。这两篇文章只是提供一种看待问题的视角,看问题的视角多了,到了具体的项目,就会有更多的选择。

  3,写上篇时没想到要分上下篇,导致整个上篇没有说明啥叫“裸奔”,不过从评论看,大部分人都读懂了:就是让“领域模型”不依赖于其它任何东西(如数据访问层)。

  天气热了,实在不想下了班还鼓捣技术,不过想想还是一鼓作气写完拉倒。

  逻辑依赖与物理依赖

  上篇留下的问题是:为什么“业务逻辑”要依赖于“存储技术”?为什么“目的”要依赖于“手段”? 

  其实“目的”依赖于“手段”并没有什么问题,但更准确的说法应该是“目的”受约束于“手段”,具体说就是“业务逻辑层”受约束于“数据存储层”,举个例子,如果使用NHibernate作为ORM框架,设计的“领域模型”一定是把所有属性都设置为virtual,为了迁就于NHibernate的LazyLoad实现技术。

阅读全文

本文共计2249个文字,预计阅读时间需要9分钟。

为何领域模型裸奔有其必要?(下)

上篇章节引出不少有价值的研究反馈,我也学到不少东西,谢谢大家。

补充说明:

1.由于基本所有人毕业后从事的项目都是业务逻辑复杂的商业应用软件,如ERP、SCM、HRP、CRM等。

  上篇文章引起不少有价值的回复,我也学到不少东西,谢谢大家。

  在此对上篇做下补充说明:

  1,因本人毕业以来从事的项目全是业务逻辑复杂的企业应用软件,ERP,SCM,HRP,CRM……,这种系统,如Martin Fowler在PEAA一书中所说,是适合使用Domain Model的,上文和本篇讨论的都是基于这样的场景和前提。

  2,正如一哥们回复中说的,天下没有绝对的东西,我们都在写随笔,不是写论文。这两篇文章只是提供一种看待问题的视角,看问题的视角多了,到了具体的项目,就会有更多的选择。

  3,写上篇时没想到要分上下篇,导致整个上篇没有说明啥叫“裸奔”,不过从评论看,大部分人都读懂了:就是让“领域模型”不依赖于其它任何东西(如数据访问层)。

  天气热了,实在不想下了班还鼓捣技术,不过想想还是一鼓作气写完拉倒。

  逻辑依赖与物理依赖

  上篇留下的问题是:为什么“业务逻辑”要依赖于“存储技术”?为什么“目的”要依赖于“手段”? 

  其实“目的”依赖于“手段”并没有什么问题,但更准确的说法应该是“目的”受约束于“手段”,具体说就是“业务逻辑层”受约束于“数据存储层”,举个例子,如果使用NHibernate作为ORM框架,设计的“领域模型”一定是把所有属性都设置为virtual,为了迁就于NHibernate的LazyLoad实现技术。

阅读全文