Domain Driven Design
(一)Domain Primitive
DP
Primitive 的定义是:不从任何其他事物发展而来,初级的形成或生长的早期阶段。类比Java中的int,string
Domain Primitive 是一个在特定领域里,拥有精准定义的、可自我验证的、拥有行为的 Value Object 。
案例:
接口语义、参数校验
核心业务逻辑清晰度
单元测试可行性
DP:
三原则
领域:业务问题的范畴
将一个大的业务划分成多个领域
案例:
输入客户姓名、手机号,根据手机号的归属地和所属运营商,将客户群体分组。
流程:
输入用户名、手机号,校验参数,获取手机号的归属地和运营商编号,获取分组编号,构建客户对象存入数据表。
归属地、运营商是查询出的,再查询出分组编号。
数据表存入的是姓名、手机号、分组编号,并不需要归属地和运营商。
修改目标:
- 接口语义明确,可扩展性强,一定的自检性
- 参数校验逻辑复用,内聚
- 参数校验异常和业务逻辑异常解耦
自定义PhoneNumber类
核心业务逻辑清晰度
业务:注册
但是,注册中包括获取归属地编码和运营商编号,使得业务并不纯粹。
胶水逻辑
改造:
第一种、改造接口的入参
第二种、根据手机号获取归属地和运营商编号,应该放在PhoneNumber类中
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)