- 防腐层(Anticorruption-Layer):上下文交互时封装的一层;
- 领域层(Domain-Layer):在分层架构中负责领域逻辑的设计和实现;
- 领域服务(Domain-Service):行为无法识别归属的实体时 , 封装到领域服务;
- 聚合(Aggregate):相关对象的集合 , 描述核心领域 , 通常把聚合作为数据修改的单元;
- 实体(Entity):通过标识来定义的对象 , 而不是基于属性 , 比如Uid标识用户实体;
- 值对象(Value-Object):描述特征或属性但没有标识的对象;
- 工厂(Factory):封装对象复杂的创建逻辑与类型;
- 存储库(Repository):把存储、缓存、搜索等资源封装的机制 , 对应领域模型;
3、工程实践领域模型在代码工程的实践中 , 可以将不同的子域集成到各自的服务中 , 也可以在一个服务中 , 通过多个模块(Module)进行隔离维护 , 即一个模块对应一个界限上下文;
将业务问题进行分模块分层分包的方式进行隔离 , 是代码工程中的基本手段 , 这里只是对组织方式进行描述 , 在实际的开发中 , 要根据依赖顺序进行类库拆包管理;
在程序的执行过程中 , 并不是所有的交互命令都需要经过领域层 , 实际上大部分业务中的查询命令都是超过增删改命令的 , 所以在纯读取数据的请求中 , 应用层可以绕开领域层直接访问基础设施层 , 减少一层数据处理逻辑 。
四、实践总结最后来讨论一些架构实践的经验 , 随着技术的不断发展和更新换代 , 为解决业务问题提供了极大的便利 , 不管是单服务中各种成熟的组件 , 又或者分布式中的微服务体系 , 或者聚焦业务管理的领域模型;每种架构选型都有其适用的场景 , 不同的选型意味着不一样的实现成本;
实际上在做架构选型时 , 成熟有经验的主导者 , 都极其擅长做折中处理 , 也就是常说的退一步海阔天空;通常需要考虑团队的综合水平与业务需求和产品设计 , 当然在实际的协作流程中多方都是需要相对让步的 , 但是对质量的要求以及核心业务的实现逻辑上是不能打折的 。
【交易|微服务与领域驱动设计,架构实践总结】
- 微软|iQOONeo6深度体验:携新骁龙8+独显芯片Pro实力定义性能游戏之王
- 苹果|苹果开通个人维修服务:取卡针售价26元,维修指南堪比天书
- 三星|国内专家:建议微博、头条关闭IP地址,元芳你怎么看?
- 微信|小米众筹爆款14天销量突破28万只,获得罗永浩力赞,仅售39元!
- 微信|视频号不肯掉队
- 折叠屏|板卡大厂的第12代酷睿游戏本 微星武士GF66和GF76是否值得选?
- 苹果|基本上现在安卓旗舰打开应用,会比苹果稍微快一点,毕竟硬件优势
- 微信|微信右上角的“+”号隐藏功能,按一下就能识别好友是否把你删了
- 微信|为何国外的社交软件能风靡168个国家,微信却只有中国人喜欢?
- 酷比魔方|对标万元微软Surface,跑分86万,酷比魔方iWork GT随行本体验