摘要: 一、一级代码目录 前面《DDD—分层架构,洋葱架构,六边形架构》一文中讲到,领域模型的业务逻辑从领域层,应用层到用户接口层逐层组合和封装,对外提供灵活的服务,既实现了各层的分工和解耦,也实现了各层的协作,DDD分层架构是微服务代码结构的最佳落地。 根据DDD的分层架构,我们可以首先根据各层的单一职责 阅读全文
posted @ 2021-06-01 13:34 纪煜楷 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: 一、解耦领域层和基础层 DDD严格的分层架构告诉我们,每一层只能与其下方的一层发生耦合。因此用户接口层只与应用层发生交互,应用层往下只与领域层发生交互,领域层往下只与基础层发生交互。 在传统的代码分层结构Controller—Service—Dao结构中,经常能看到在Service业务实现层的代码中 阅读全文
posted @ 2021-05-31 12:17 纪煜楷 阅读(1603) 评论(1) 推荐(1) 编辑
摘要: 一、DDD分层架构 DDD分层架构中有很重要的依赖原则:每层只能与位于下方的层发生耦合,类似于网络的7层或TCP/IP的4层模型架构,每一层各司其职,并且只关心向下一层的实现,而不会出现各层耦合。 DDD分层架构中包含四层:从上到下分别是用户接口层,应用层,领域层和基础层。 二、洋葱架构 2008年 阅读全文
posted @ 2021-05-31 12:16 纪煜楷 阅读(6287) 评论(0) 推荐(2) 编辑
摘要: 一、领域事件 领域内的业务行为发生后通常会触发进一步的业务操作,DDD中这类事件被称为领域事件。比如电商领域,订单下单后触发支付动作,支付动作完成后触发仓库出货动作,出货完成触发快递运输动作,这些都是业务流程中的步骤,以领域事件表示。 在和业务专家沟通的过程中,诸如一些他们聊到的关键词“如果这样,就 阅读全文
posted @ 2021-05-30 20:17 纪煜楷 阅读(1063) 评论(0) 推荐(0) 编辑
摘要: 一、EventBus概述 Guava 事件总线EventBus允许在服务内部的组件之间进行发布-订阅式的通信,是观察者模式的优雅实现。观察者模式和EventBus都需要注册监听者事件,发布者发布事件。 不同在于观察者模式的发布者需要继承Observable,实现事件发布的逻辑,监听者需要自己实现Ob 阅读全文
posted @ 2021-05-30 18:06 纪煜楷 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 一、聚合 上文讲到的实体和值对象,都只是带有业务逻辑的个体对象,表现的主要是个体属性和行为。所以在领域模型中需要一个组织,有序的组织起个体的行为,将紧密关联的个体对象聚集到一起,按照业务编排完成局部完整的业务逻辑。 比如在学生和老师都是带有个体属性和实体,都有各自的行为,是靠校长把老师和学生聚合到学 阅读全文
posted @ 2021-05-29 15:48 纪煜楷 阅读(2152) 评论(1) 推荐(0) 编辑
摘要: 一、实体 实体是领域模型中的一个对象,带有业务含义的对象,集多个业务属性,业务行为于一体。领域建模时,我们根据业务场景分析,找到跟业务逻辑相关的实体对象,然后按照实体间的关联将多个对象进行聚合。 实体最大的特点是拥有唯一标识符,这个标识符贯穿整个软件的生命周期,不随业务流程和状态变更后更改,在领域模 阅读全文
posted @ 2021-05-28 23:23 纪煜楷 阅读(865) 评论(0) 推荐(1) 编辑
摘要: 一、域的概念和划分 DDD对业务领域划分到一定程度后,便将特定问题限定在了特定的边界内,这个特定的边界就是域,在边界内进行领域建模,微服务代码落地。 边界有大有小,领域可以进一步划分为子域,把问题聚焦到一个特定的业务范围内。 在领域不断细分的过程中,通常被分解为核心子域,通用子域和支撑子域 企业内决 阅读全文
posted @ 2021-05-28 17:06 纪煜楷 阅读(1103) 评论(0) 推荐(0) 编辑
摘要: 一、DDD从放弃到入门 希望了解一套微服务框架的;希望学习到新技术的;开发的系统不复杂,模块少而独立的;当前自己设计的架构已满足拓展性,可复用性,技术与业务复杂度已分离的; 这几类人群不是DDD的目标人群,建议尽早放弃,学习领域驱动设计能得到的收获概括起来大致如下: 1、领域驱动设计是一套系统的设计 阅读全文
posted @ 2021-05-28 15:15 纪煜楷 阅读(2562) 评论(0) 推荐(0) 编辑
摘要: 一、AKF拓展立方体 中台本质上是企业的业务模型,中台领域模型落地时需要架构的支撑。 无论是最早的阿里巴巴中台战略的落地,还是其他企业的实施方案来看,目前中台落地的技术手段和架构,最佳实践就是微服务架构,微服务架构有利于服务的拆分和拓展,以支持日益增长的业务需求,《架构真经》的书里提出了微服务的AK 阅读全文
posted @ 2021-05-28 11:14 纪煜楷 阅读(535) 评论(0) 推荐(0) 编辑