今天重新回到领域驱动设计学习上来,这次主要是通过学习极客时间的课程,感觉讲的还不错,所以接下来要把这个课程通读一遍,并记录下主要内容,供以后翻阅学习。
今天主要学习了前五讲,下面记录下今日学习笔记。
1.学好DDD,可以做什么?
在没有DDD之前,划分微服务,大多是都是根据经验,或者业内的一些案例。缺少一个好的指导方法,直到DDD出现后,我们就可以按照DDD的方法论进行业务领域的建模,微服务的分界。所以说 学好了DDD。我们在做业务架构的时候,就可以按照DDD的方法进行业务建模,服务拆分。
产品也很适合学习
2.微服务设计为什么要选择DDD?
DDD 是一种处理高度复杂领域的设计思想,它试图分离技术实现的复杂性,并围绕业务概念构建领域模型来控制业务的复杂性,以解决软件难以理解,难以演进的问题。DDD 不是架构,而是一种架构设计方法论,它通过边界划分将复杂业务领域简单化,帮我们设计出清晰的领域和应用边界,可以很容易地实现架构演进。
DDD 包括战略设计和战术设计两部分。
战略设计主要从业务视角出发,建立业务领域模型,划分领域边界,建立通用语言的限界上下文,限界上下文可以作为微服务设计的参考边界。
战术设计则从技术视角出发,侧重于领域模型的技术实现,完成软件开发和落地,包括:聚合根、实体、值对象、领域服务、应用服务和资源库等代码逻辑的设计和实现。
3. 领域、子域、核心域、通用域和支撑域:傻傻分不清?
4. 限界上下文:定义领域边界的利器
5.实体和值对象:从领域模型的基础单元看系统设计
这几个概念参考之前写的吧。https://mp.csdn.net/mp_blog/creation/editor/119387503