文章目录
前言
DDD 领域驱动模型设计
文章目录 |
---|
《领域驱动设计》—— Thoughtworks洞见 |
《实现领域驱动设计》—— 沃恩·弗农 |
DDD-领域驱动设计 - 知乎 (zhihu.com) |
一、架构的演变历程
学习DDD之前,先了解大致的架构模式,因为DDD本身也是一种另外一个层面上的设计模式,后面我们也需要从MVC与DDD进行一个最终的对比。
首先看一个传统网站架构的演变过程。
SOA 与 微服务
什么是SOA
Service-Oriented Architecture,面向服务架构,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。
**什么是微服务 **
维基上对其定义为:一种软件开发技术 - 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。
总结
SOA 面向服务架构 | 微服务 = 组件剥离+架构设计+领域建模 | |
---|---|---|
描述 | 功能服务化 | 系统服务化 |
适用群体 | 快速开发,小型团队 | 功能间交互频繁、系统松耦合需求强烈 |
管理设计 | 中央管理/功能分化 | 系统分散管理 |
软件架构设计的实质是让系统能够更快地响应外界业务的变化,并且使得系统能够持续演进。从业务出发、面向业务变化是我们现代架构设计成功的关键。
二、领域驱动初窥
领域驱动设计 - Domain-Driven Design
1 传统软件开发中的痛点
常见的软件开发的方式我们可能会提到两个名词
- 瀑布式开发
- 敏捷开发
…我心里头一万个草泥马,这是啥玩意。
在最初时,项目组获得一个新项目后,与产品经理等经过产品标书