DDD1-课程介绍

互联网大厂的蔚来架构之道

DDD领域驱动设计 实战

阿里ddd: cola

DDD天生就适合微服务的这种方式

阿里中台的概念

很多企业发现在践行中台的战略中遇到很多问题

提升软件质量


起步

DDD是一个庞大的理论体系,如何落地是一个问题,而不像微服务体系或者MVC架构有这么多框架

很多大厂是用这种小型的项目用DDD来进行推广

DDD要求于具体的技术无关的


目录

1629338118966

1629338198960

技术学起来很快,想要与众不同,就需要你的软实力,这种软实力的提升就是比较虚的

DDD适合贯穿于你的整个体系

  • imgP22.

DDD2-什么是DDD

17:40

啥时DDD

1629338564960

NoSql: redis mongodb hbase

nosql概念是这个作者提出来的

软件设计的复杂性,要复杂才能适合ddd


不如在进行权限控制的时候,我们就会简历RBAC

,通过角色来简历权限控制,就是一种ddd

实现领域驱动设计


1629339244610

DDD3-系统老化谁的锅

11:28

什么是系统老化

迭代时间很长的项目

比如一个项目迭代了10多年

系统老化

1629340114232

人员变更,

新的人员如何去理解业务需求

文档一般还是跟不上的


重构否??? 重构了没有实质性的提升,成本却很高

微服务架构能防止系统变老么

1629340539762

随着微服务的发展

还是会出现没有这种实质性的该变

局部业务出现膨胀 还是需要重构, 还是需要拆分

微服务架构会一定程度上的解决,但是还是不会根本解决,只会让你的老化速度变慢一点儿


DDD理论体系

DDD4-转账功能改造上

21:03

写出一个小demo

于浩代码的差距到底在哪


1629340761309

1629340847009

1629340861574

1629340872021

这样的代码实际上是面相过程的方式

也被称之为事务脚本

先不考虑他的执行效果

写高质量的代码: 高内聚 低耦合

需要可行的标准:

单一职责原则:(一个模块只做一个业务)

开放封闭原则:对扩展开放,对修改封闭

依赖翻转原则: 面相接口依赖,而不是依赖具体的实现类

抽象数据存储层

1629341310457

1629341335070

把业务方法写到 实体里面

DDD里面提到的充血模型

与之对应的 称为 贫血模型>>> POJO Martin Fowler 提出来的(就是只有属性和get set 方法的实体类)

我们这个实体本来是为了承载业务来设计的,但是

最后变成从这个实体根本看不出有哪些业务了,这种称为贫血失忆症

如和解决: 充血模型

1629341860503

可以在定义一个实体,来实现,比如修改密码,修改xxx的业务,这个实体只做他的事情: 转入转出操作


定义的时候就比较别扭了

到底什么方法要加入实体类中

DDD中对这个Business是有说道的

业务是对于实体改变的

而这种转账是不会改变实体的

Order -> OrderItem -> Address

整体于部分的关系,


把仓库定义成巨大无比的对象池

理想: 所有对象都在内存对象池里

如果有大对象,就需要工厂来 帮助改造

DDD5-转账功能改造下

24:52

抽象第三方服务

1629350158455

1629350169915

你的第三方服务怎么实现的和我的业务没有关系

DDD中的防腐层ACL: 隔离第三方的依赖

抽象第三方组件

1629350386261

1629351563267

DDD4层架构

1629352294652

DDD的一大特点,当你的业务绝对简单的时候,

在小型的业务下,往往体现不出优势

DDD6-DDD项目改造

16:53

DDD7-DDD项目改造

25:22

“DDD”Vs DDD项目改造

1629353459610

DDD8-DDD项目改造下

11:02

1629354275521

“DDD”,data driven design

DDD9-DDD视角下的单体架构与微服务架构

13:46

微服务时代,单体架构淘汰了吗

1629356649627

DDD视角下单体架构与微服务架构的统一

1629360817198

DDD10-DDD发展展望

17:46

中台,DDD的另一片战场

1629360930637

战略工具,DDD提供 的方法 形成一个统一的语言

平台+资源调度>->- 中台

1629361977397

1629362358998


from

https://www.bilibili.com/video/BV1Y341167Xp?from=search&seid=8938952084618205028

2小时掌握宇宙最强DDD(Data Display Debugger)DDD领域驱动设计实战


1631600715895

1631600712581