我所理解的领域驱动设计

简介:   自从看了后有种豁然开朗的感觉.原来以前编码的习惯叫做事务脚本,active record,query object.   我还是比较习惯三层架构/或其变体这种编码习惯.但是到了后期发现一个庞大的项目后期维护起来真的很恶心.

  自从看了<ASP.NET设计模式>后有种豁然开朗的感觉.原来以前编码的习惯叫做事务脚本,active record,query object.

  我还是比较习惯三层架构/或其变体这种编码习惯.但是到了后期发现一个庞大的项目后期维护起来真的很恶心.事务脚本有一个状况就是我一个功能要修改.我不知道具体哪个类哪个方法对应这个功能,而active record呢,在涉及到多个表的先后操作感觉又有点奇怪.感觉这个方法不应该放在这里,但是又不知道该放在哪里.

  而我所理解的领域驱动设计,是一种建模的思想.这种思想把方法的布置放在一个领域对象中.领域对象对我来说就是一个抽象的名称类型.比如消费者,服务提供者,订单,各种交互图中的对象.比如有一个银行家领域对象,无产阶级领域对象,无产阶级找银行借钱就是在无产阶级类里面有一个借钱的方法,该方法的参数包含银行家对象还有一些需要的"手续".我个人是不喜欢把领域模型弄的很充血的,因为好多属性需要在实例化的时候注入.方法一多怎么办?但是必要的主键id我还是会加上去的.

  那么这个借钱的方法主体无非就是,我要根据这些手续判断借钱是否合法.而数据来源不在该方法获取而是作为参数.那么数据来源写在哪里呢?写在领域服务里的仓储接口里面.这样就没什么问题了.业务变更的时候,我们只要改这个借钱方法了,如果需要其他手续?我想到时会考虑把"手续"作为借款人的属性吧.

目录
相关文章
|
存储 自然语言处理 前端开发
领域驱动设计(DDD)-基础思想
一、序言     领域驱动设计是一种解决业务复杂性的设计思想,不是一种标准规则的解决方法。在领域驱动设计理念上,各路大侠的观点也是各有不同,能力有限、欢迎留言讨论。 二、领域驱动设计 DDD是什么 wiki释义:     领域驱动设计(英语:Domain-driven design,缩写 DDD)是一种通过将实现连接到持续进化的模型[1]来满足复杂
7527 0
|
4月前
|
设计模式 存储 JavaScript
于领域驱动设计的理解
领域驱动设计DDD学习总结,主要参考Eric Evens的《Domain-Driven Design–Tackling Complexity in the Heart of Software》
55 0
|
缓存 前端开发 JavaScript
前端领域驱动设计的一些思考
前端领域驱动设计的一些思考
843 0
|
存储 JavaScript 安全
【领域驱动设计】Redux 和领域驱动设计
【领域驱动设计】Redux 和领域驱动设计
|
存储 设计模式 前端开发
浅谈领域驱动设计实践——董炎焱
近年来领域驱动设计(Domain Drive Design)大火。那么我们为什么要学习领域驱动设计,它适合用于哪些场景?怎么去用?在用的过程中,又有哪些需要注意的地方呢?
浅谈领域驱动设计实践——董炎焱
|
设计模式 程序员 项目管理
领域驱动设计揭秘
领域驱动设计揭秘
|
缓存 数据可视化 Java
浅析 DDD 领域驱动设计(2)
浅析 DDD 领域驱动设计
297 0
浅析 DDD 领域驱动设计(2)
|
存储 缓存 监控
浅谈我对DDD领域驱动设计的理解
DDD的全称为Domain-driven Design,即领域驱动设计。下面我从领域、问题域、领域模型、设计、驱动这几个词语的含义和联系的角度去阐述DDD是如何融入到我们平时的软件开发初期阶段的。要理解什么是领域驱动设计,首先要理解什么是领域,什么是设计,还有驱动是什么意思,什么驱动什么。
|
设计模式 BI 项目管理
重新解读DDD领域驱动设计(一)
回顾 十年前,还未踏入某校时,便听闻某学长一毕业就入职北京某公司,月薪过万。对于一个名不见经传的小学院,一毕业能拿到这个薪水还是非常厉害的。听闻他学生期间参与开发了一款股票软件,股票那时正迎来一波疯涨。
1689 0