课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
领域驱动设计是目前大多数软件开发程序员都在学习的一个设计方式,下面我们就通过案例分析来了解一下,领域驱动设计外部依赖类型分享。
一切不属于当前域内的设施和服务,都可认为是外部依赖。比如:数据库,数据库Schema,RPC服务,ORM框架,中间件.....并且都是可替换的。我们要做的是把由外部依赖变化导致的自己系统内发生的变动控制在小范围。
"由外部依赖变化导致的内部系统的改造程度,我们可以理解为一个系统的可维护性。”
在检查这段代码的可维护性前,我们先来看看它有哪些外部依赖:
1、数据库Schema
这里的业务代码强依赖数据库schema,也就是DO类。一旦数据表的字段产生变动,DO类就会随之变动。
但DO在这段代码里到处都是,并且将UserDO这个对象传递到了方法外部。一旦业务逻辑复杂起来、DO发生变化,这段代码就会面目全非,甚至很可能会破坏掉原有正常的功能。
2、ORM框架
此代码使用了大家熟悉的MyBatis框架:使用Mapper这种DAO对象来构建和执行SQL。
如果框架本身没有向下兼容、API产生了变化,系统要升级框架;或出于对安全问题的考虑,系统要替换整个ORM框架,业务代码要进行大量的变动。这是不合理且存在风险的。
3、RPC服务
使用中国电信提供的手机号实名信息查询服务,强依赖在业务逻辑中。一旦中国电信提供的接口入参和返回都产生变动,或者变更服务商,那么业务逻辑代码也要进行相应的修改。说起来简单做起来难,建议抱有此想法的童鞋趁早放弃,不要给自己找锅背。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。