领域驱动设计的优点
2015-09-10 16:58
197 查看
业务逻辑被合理的分散到不同的领域对象中,代码结构更加清晰,可读性,可维护性更高。
对象职责更加单一,内聚度更高。
复杂的业务模型可以通过领域建模(UML是一种主要方式)清晰的表达,开发人员甚至可以在不读源码的情况下就能了解业务和系统结构,这有利于对现存的系统进行维护和迭代开发。
再看看如果这时需要加入网上商城的一个新的模块,开发人员需要怎么去做,还记得上面提过的第三种方案吗?就是把账户贷记和借记的相关业务抽取到成一个公共服务,同时供银行在线支付系统和网上商城系统服务,其实这个公共的服务,本质上就是这些具有领域逻辑的领域对象:Account、AccountCreditDegree……,由此我们又可以发现领域驱动设计的一大优点:
系统高度模块化,代码重用度高,不会出现太多的重复逻辑。
对象职责更加单一,内聚度更高。
复杂的业务模型可以通过领域建模(UML是一种主要方式)清晰的表达,开发人员甚至可以在不读源码的情况下就能了解业务和系统结构,这有利于对现存的系统进行维护和迭代开发。
再看看如果这时需要加入网上商城的一个新的模块,开发人员需要怎么去做,还记得上面提过的第三种方案吗?就是把账户贷记和借记的相关业务抽取到成一个公共服务,同时供银行在线支付系统和网上商城系统服务,其实这个公共的服务,本质上就是这些具有领域逻辑的领域对象:Account、AccountCreditDegree……,由此我们又可以发现领域驱动设计的一大优点:
系统高度模块化,代码重用度高,不会出现太多的重复逻辑。
相关文章推荐
- PowerDesigner15.1 在 win8-64位系统连接MySQL5.6.21并设置逆向工程
- LeetCode 3 最大不重复子串
- c语言二目运算符. ->
- MVC,MVP,MVVM框架剖析
- matlab读取/播放视频的函数
- 复杂布局中点击编辑框EditText以外界面无法隐藏软键盘的解决方法
- POJ - 2421 Constructing Roads(最小生成树简单题)
- 程序猿感情生活的那些事
- POJ 2752 Seek the Name, Seek the Fame
- 从K近邻算法、距离度量谈到KD树、SIFT+BBF算法
- COCI2014 COCI
- LeetCode3——Longest Substring Without Repeating Characters
- overlapped 结构
- C++Primer第五版 第1章 开始(练习解答)
- Objective-C 【从文件中读写字符串(直接读写/通过NSURL读写)】
- 设计模式 单例模式
- ZOJ 2314 Reactor Cooling 无源汇上下界网络流 可行流
- POJ 2406 Power Strings
- 软件测试1-7张内容回顾
- linux读写大文件