DDD领域与业务建模金融基础技术与业务

团队开发框架实战—DDD之我见

2016-10-13  本文已影响3959人  Bobby0322

Evans DDD

领域驱动设计之父

领域驱动设计之父.png

领域模型相关领导人物

领域模型相关领导人物.png

分析设计发展的三个阶段

第一阶段:传统的数据库方式

过去软件系统分析设计总是从数据库开始,这种围绕数据库分析设计的缺点非常明显:

第二阶段:分析和设计分裂

第二阶段比第一阶段进步很多,开始采取面向对象的方法来分析设计需求。
分析人员的职责:是负责从需求领域中收集基本概念。面向需求。
设计人员的职责:必须指明一组能北项目中适应编程工具构造的组件,这些组件必须能够在目标环境中有效执行,并能够正确解决应用程序出现的问题
两个阶段目标不一致,导致分裂,项目失败

新阶段:分析设计统一语言

统一领域模型,它同时满足分析原型和软件设计,如果一个模型实现时不实用,重新寻找新模型。
一个无处不在(ubiquitous)的语言,项目中所有人统一交流的语言。
减少沟通疑惑,减少传达走样。使得软件更加适合需求。

概念、价值、重点、范围、好处

概念:一种模型驱动设计(MDD) ,强调分析和设计不分离,一个领域模型体现分析与设计的结果
过程:业务需求->领域建模,领域模型->编码实现
价值:模型实现业务需求,反应业务核心价值
重点:领域建模,深入分析业务需求是关键
范围:长期维护、有价值、业务复杂的系统
好处

领域建模前要理解的点

领域建模分析思路

领域建模步骤参考

分层架构

领域驱动设计标准分层架构.png
职责
User Interface 负责向用户展现信息以及解释用户命令。
Application 很薄的一层,定义软件要完成的所有任务。对外为展现层提供各种应用功能(包括查询或命令),对内调用领域层(领域对象或领域服务)完成各种业务逻辑,应用层不包含业务逻辑,但包含流程控制逻辑。
Domain 负责表达业务概念,业务状态信息以及业务规则,领域模型处于这一层,是业务软件的核心。
Infrastructure 为其他层提供通用的技术能力,通过架构和框架来支持其他层的各种技术需求。如提供持久化领域对象的支持。

Important Tips

更多资料和资源

参考框架

参考书籍

上一篇 下一篇

猜你喜欢

热点阅读