解耦外部依赖:数据访问、rpc调用
解耦内部逻辑
外部依赖
一切不属于当前域内的设施和服务,比如数据库、数据库schema、rpc服务、orm框架、中间件等。
外部依赖的改变是本域内无法控制的
可维护性
数据库schema:do类,set和get
orm:mybatis,insert…
rpc:外部service
改造成面向抽象接口编程
抽象接口本质是一种中间协议,双方都只要对该协议负责,接口起到隔离的作用。
rpc改造
1.realnameService接口(就是防腐层)替代具体实现,对象通过配置注入。
2.realnameInfo这个dp替代dto
2.改造数据访问
do是数据表的直接映射,是具体实现,不应该直接暴露给业务逻辑
同理,dao作为访问的具体实现,不应该直接暴露给业务逻辑
引入Entity、Repository
业务逻辑只面向领域实体
Entity是一种领域实体类
内部逻辑
可扩展性
注册的逻辑,获取用户信息,并保存。
发奖耦合注册,本质是判断用户是否为新用户。
注册逻辑更改为,获取用户信息,检查更新用户,保存。