我们略过需求的采集、直接进入需求分析与设计。
领域驱动设计(DDD)是近10年流行、比较成熟、比较成功的软件分析与设计方法、理论。我们早期常见的软件开发方式是拿到产品需求后,直接考虑数据库中表应该如何设计,这种方式已经将分析、设计与业务需求脱节,而更多的是直接考虑应该如何实现了,这有点本末倒置。而DDD是从领域(问题域)为出发点进行的设计方法。
这里先说一下领域驱动设计的概念:系统设计应该是一种以领域为核心的设计和开发理念。设计应该通过维护一个深度反应领域概念的模型,以及提供可行的经过实践检验的大量模式来应对领域的复杂性。
这里要注意几点:
1. 领域是核心,也就是说我们软件的分析和设计要能够直接描述业务的信息,也要能解决业务的问题。
2. 领域模型,实际上包括两个部分,一是分析模型,二是代码模型。分析模型通常是对需求分析的结果产物,直接通过类和类的关系描述了业务;代码模型能够按照一定的约定来编写代码解决业务问题。
3. 大量模式,通过总结的经验来直接指导软件分析、设计和开发。比如通过技术维度的分层,业务维度的分模块与划分聚合,时间维度的迭代等。
欢迎加入QQ讨论群:309287205