什么是领域驱动设计?
领域驱动设计是Eric Evans 于2003年提出来的,提出来主要是用来解决软件架构设计的一种思想。我们都知道,
软件复杂度的成因一般包括技术复杂度和业务复杂度,那么,怎样将一些公用的方法或者业务隔离出来,减少代码的冗余度,都成为
软件架构必须解决的问题。换句话说,领域驱动设计方法解决的就是从业务模型到设计模型的演化,使用领域驱动设计方法先从业务模型演化出设计模型,
再将反应了业务领域的设计模型转化为实际的代码。
一般来说,领域驱动设计包括三要素:专业知识、抽象能力、细分问题
专业知识:就是前期在与客户沟通需求过程中,学习到的关于业务方面的知识。这类知识并不仅仅只是对需求的理解,更多的要思考业务需求实际要解决的是什么问题。
抽象能力:一般指发现核心业务对象,简化问题空间的能力。将复杂的需求抽象出要解决的实际问题,比如系统录单,可以理解为信息入库,没必要一开始就搞清楚是用手机录还是电脑录。
细分问题:把业务问题细化为更小更容易处理的子问题。从业务角度上看,一个业务领域可以划分为多个子领域,那么对应的业务问题也可划分为更多小问题。
其中抽象和划分领域决定了系统设计的下限;专业知识,决定了系统设计的上限。
什么是领域驱动设计?相关推荐
- DDD领域驱动设计之聚合、实体、值对象
关于具体需求,请看前面的博文:DDD领域驱动设计实践篇之如何提取模型,下面是具体的实体.聚合.值对象的代码,不想多说什么是实体.聚合等概念,相信理论的东西大家已经知晓了.本人对DDD表示好奇,没有在真 ...
- 领域驱动设计_软件核心复杂性应对之道
领域驱动设计_软件核心复杂性应对之道 转载于:https://www.cnblogs.com/MarvinGeng/archive/2013/02/21/2920968.html
- 领域驱动设计 敏捷_反馈失败:发现敏捷数据驱动的致命弱点的风险
领域驱动设计 敏捷 by Phil Seaton 菲尔·西顿(Phil Seaton) 反馈失败:发现敏捷数据驱动的致命弱点的风险 (Feedback fail: discover the risk ...
- 领域驱动设计(DDD)架构演进和DDD的几种典型架构介绍(图文详解)
我们生活中都听说了DDD,也了解了DDD,那么怎么将一个新项目从头开始按照DDD的过程进行划分与架构设计呢? 一.专业术语 各种服务 IAAS:基础设施服务,Infrastructure-as-a-s ...
- DDD领域驱动设计 — 贫血模型与充血模型
文章转载来源:https://juejin.cn/post/6917125801460629518 | 前言 要想深入掌握和了解 DDD 领域驱动设计的核心,那无论如何也绕不开两大较为抽象的概念-- ...
- 一文理解 DDD 领域驱动设计!
来源丨SpringForAll社区 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Softwa ...
- DDD 领域驱动设计:贫血模型、充血模型的深入解读!
作者:JavaEdge在掘金 链接:https://juejin.cn/post/6917125801460629518 - 前言 - 要想深入掌握和了解 DDD 领域驱动设计的核心, ...
- 一文揭秘领域驱动设计(DDD):领域和子域!
来源:掘金 链接:https://juejin.cn/post/6898450822771539981 - 前言 - 众所周知,领域驱动设计(DDD)是个相当抽象的概念,国内除了几家知 ...
- 领域驱动设计,为何死灰复燃?
作者简介 张逸,曾先后就职于中兴通讯.惠普 GDCC.中软国际.ThoughtWorks 等大型中外企业,任职角色为高级软件工程师.架构师.技术总监.首席咨询师. 一.领域驱动设计为何又死灰复燃焕发青 ...
- 领域驱动设计门槛很高,没有深厚的面向对象编码能力很难实践成功
时间是人类最宝贵的资源.时间是有限的.不可再生的,你可以用钱买任何东西,却买不了时间.技术,就像时尚,在以光速在变化着.为了赶上它,我们需要跑的非常快.但是这个跑道上没有终点,所以没有赢家. 将你的黄 ...
最新文章
- C++ 类的内存分布
- 某产品经理炫耀:3年跳槽3次,月薪从8k涨到38k,跳槽涨薪最快!
- 图之典—可视化图表的词典
- 撩课-Java面试宝典-第八篇
- 日积月累:ProguardGui进行jar包代码混淆
- 【常用】linux 命令是什么的缩写(命令缩写)?vi快捷键,linux操作,c语言缩写,计算机相关,其他缩写,xshell操作,apt-get命令大全
- CSS——基础选择器
- 用hundred造句子_2020朋友圈感恩节祝福语大全:微信感恩节鞠躬的图片文案句子说说[多图]...
- 基线是什么意思_CAD都玩不溜,还好意思说自己搞工程的?
- vs2013创建c++控制台应用程序
- linux查看u盘的分区,在Linux下访问windows分区以及U盘
- 项目管理中如何应对用户频繁的需求变更?
- python爬取有道翻译的代码_有道翻译的爬取
- 解决Not all parameters were used in the SQL statement问题
- pycharm:Updating Indices 解决办法
- 深入line-height,中线,基线,底线,顶线
- rtmp断线重连_rtsp转rtmp rtsp2rtmp 同时16路视频 rtmp推流器 支持ipc dvr nvr
- ZYNQ之AXI简介
- Vue:如何制作表格数据分页查询
- echarts——map