第一章
第一章 什么是领域驱动设计,它的好处在哪里
前言
随着各个大厂都在开始使用领域驱动设计了,我也一直好奇这个领域驱动设计它真的又说的那么厉害吗?所有带着好奇我也去网上找了些学习资料学习了一下,在此留下学习笔记供大家参考
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是领域驱动设计?
领域驱动设计的概念是2004年Evic Evans在他的著作《Domain-Driven Design : Tackling Complexity in the Heart of Software》中提出的。
何为领域?通俗点说就像是现实生活中的:医疗领域、自媒体领域。或者换个说法就像是动物世界里面动物的领地一样。就像是这样,被栅栏围起来的就是一个领域
何为驱动?就是驱使的意思
何为设计?这个不用多说了吧
二、它的好处在哪里
1.使架构保持简洁
每一个业务都有自己的领域,就像动物园里的动物一样,都关在属于独立的栅栏里。方便程序员管理。把这些五彩斑斓的小羊当成你程序的一个个功能模块,比如订单模块、支付模块
2.便于后期维护
就像动物园里来了新的动物了,再在其他动物的围栏旁边再围出一块新的区域,而不是把它们放到一起,这样新来的动物就会影响之前栅栏里的动物。
这样后期不管我们的架构是怎么的迭代更新都不会影响到之前的代码,实现高内聚低耦合。
领域驱动设计是框架越复杂优势就越明显。当你的系统足够简单的时候就没必要去搞领域驱动设计了,因为这样做起来意义不大。
系统的设计改变过程如下:
三、如何划分领域
通过单一职责原则划分;
单一职责原则:即一个类只负责一项职责;
比如一个用户类它的职责可以有哪些?通过用户ID获取用户、对用户的CRUD等等
四、领域事件
五、领域建模
总结
DDD注重的是程序设计的思想,当你理解了它是个什么意思了,脑子中有了个大概的概念了,那学习起来就简单了