TDD and DDD
2021-05-28 14:48:28 10 举报
领域驱动设计学习
作者其他创作
大纲/内容
TDD Test Driven Development
基本概念
TDD是测试驱动开发,是冥界开发中的一种核心实践和技术,也是一种设计方法论
以不断地测试推动代码的开发,既简化了代码,又保证了软件质量
核心
1.编写测试
描述应用新功能(Junit PostMan)
2.核对和确认测试
测试先行(PostMan)
3.编写代码,测试
整体流程测试
4.重构产品,测试
当产品流程不满足,重构代码重复(1 2 3)
问题所在
数据驱动 and 领域驱动
数据驱动 Data Driven
现在80%的开发完全是为了数据,满足用户用户的需求
数据不够加数据,字段不够加字段(DB)
代码 BadSmell
杂糅的代码,代码分界不合理,需求变更频繁打补丁
与微服务的关系
服务的拆分
对复杂系统的分解的具体方法论(缺少科学的拆分)
与框架的关系
领域服务
事件总线
与数据库的关系
以数据为开发出发应该不算 DDD
人员关系
程序员着重技术思维,业务理解付出少
产品只会产品原型,对技术知识知之甚少
基本概念
Domain Driven Design
指引如何实现面向服务架构或者业务驱动架构 (为微服务提供科学方法论)
point
限界(隔离分离,帮助服务与服务的低耦合)
子领域
实体/值对象
多模型
VO DTO DO PO
贫血/充血
充血
贫血
失忆
业务不明确
聚合/聚合根
聚合
将子领域聚合
聚合根
与不同的领域进行通信
仓储
领域服务/领域事件
六边形架构
分层模式
四层结构
展示层 Web / app / interface
应用层
领域层
项目核心 主要业务
领域行为
实体
接口
服务
基础层
持久化
公共基础
事件驱动
事件驱动
开发流程
思维陷阱
动手
专注于具体场景
核心
精简业务模型
克制系统边界 需求边界
产品开发共享
获取领域模型
清晰模型边界
收藏
0 条评论
下一页