课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
对于大多数的java程序员来说,架构师是一个非常不错的职业发展方向,而今天我们就一起来了解一下,架构设计中比较常见的领域驱动设计的一些基础知识。
一、定义
领域驱动设计的定义:
领域驱动设计,其实就是业务驱动设计,通过软件开发架构师和开发人员与熟悉该领域的业务专家一起勾勒出需求领域模型去实际解决业务场景遇到的问题。
二、核心
领域驱动设计核心是什么?
领域驱动设计核心是关注精简的业务模型及实现的匹配。
三、为什么需要领域驱动设计?
领域驱动设计希望解决什么问题?
目前我们使用的面向对象程序设计,也有面向过程程序设计,为什么还需要领域驱动设计?
设计之选择性的三个问题
在面向对象编程的过程中,哪些对象是对我们的系统有用的?(精简业务模型)
哪些是对我们拟建系统没有用处的?(克制系统边界,需求边界)
我们应该如何保证我们选取的模型对象恰好够用?(适度不蔓延,不泛化)
设计之封装边界的问题
对象封装解决的一部分对象关联依赖关系。但是如何更高点的层次上,通过保留对象之间有用的关系去除无用的关系,并且限定变更影响的范围来降低系统的复杂度?(去除无用的关系,更好的封装不变需求范围)
设计之业务和研发思维问题
开发人员会沉溺于技术思维,对业务理解和深入付出很少。业务理解对于技术实现不能理解,只想表达业务视角看到的内容。
解决方式:看清楚我们提炼出的模型,在整个架构和整个开发过程中所处的位置和地位。
如何处理模型和对象实现
解决方式:哪些具有什么样素质和技能的人来处理模型和对象实现,应该用什么样团队模型来匹配业务模型
如何应用开源项目设计思想和历史项目设计思想?
解决方式:尽信书不如无书,切勿生搬硬套,要有自己的方法论,进行切合实际场景的使用。
四、领域驱动设计的思维陷进
事必躬亲。模型需要代码。
专注于具体场景。抽象思维需要落地于具体案例。
不要试图对任何事情都进行领域驱动设计。画一张范围表,然后决定哪些应该进行领域驱动设计,哪些不用。不要担心边界之外的事情。也就是说不要蔓延,要克制。
不停地实验,期望能产生错误。模型是一个创造性的流程。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。