课程名称:DDD(领域驱动设计)思想解读及优秀实践
课程章节: 战略设计
课程讲师: 尤达_技术咖啡
例子:
2,如果中台是上游,那么中台和调用端,应该是客户/供应商模式呢,还顺从者模式呢
中台的目的是服务于业务,业务才是核心域,所以一般中台或提供服务方,应该为核心域需求要进行修改。但是对于中台来说,它又是提供的通用功能,不能只为了某项业务进行修改,所以中台设计也是需要设计的。
3,阿里说的拆中台,作为中台也只能是服务于业务的,所以应该是客户/供应商模式。如果中台不给力,总是让下游当顺从者,那中台也就是形同虚设,
4,作为顺从者,自己的系统很容易变成大泥球,就会使用分道扬镳模式
7,分道扬镳,separate ways : 就是独立方法,调用方和被调用方的对象都是独立的
上下文之间没有调用关系
会发生分道扬镳的例子:
1,当调用成本太高的时候,比如调用中台,不能满足需求,需要调用中台实现一部分功能,然后自己也要维护一部分功能,这样下游就想独立完成整个功能,而不需要调用中台。
2,新旧系统切换的时候,如果旧系统本身就是大泥球,调用旧系统维护成本会很高,新系统会自立门户,再实现一遍,然后将流量逐渐切换到新系统上。
8,公开语言:标准化或协议化模型,自己的上下文可以转换成协议模型,协议模型可以转回成自己的模型。(就是固定对象,上下游都不需要改动,直接用的对象)
可以插拔的开发模式,比如蓝牙协议,蓝牙耳机,鼠标,键盘都可以链接电脑。而电脑不用换
9,整个系统的上下文映射?
总结:
1,什么是上下文映射,为什么需要上下文映射?
上下文映射作用:就是为了团队之间协作**(根据上下文映射关系,有相同的对象,谁来定义这个对象。),和重叠模型(不同模块相同对象)的映射关系**,这样
2,上下文有9种映射关系
开放主机服务是上游应用模式-》防腐层是下游应用模式
客户/供应商-》顺从者模式,是两个相反的模式
共享内核要慎用-》除非团队之间是合伙人模式
大泥球是要避免的模式,不得已情况下要-》进行分道扬镳模式
标准模式公开语言模式,主要是为了方便上下文组件化,可插拔化