专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

大白话DDD(DDD黑话终结者)

  一、吐槽的话
  相信听过DDD的人有很大一部分都不知道这玩意具体是干嘛的,甚至觉得它有那么一些虚无缥缈。原因之一是但凡讲DDD的,都是一堆特别高大上的概念,然后冠之以一堆让人看不懂的解释,。作者曾经在极客时间上买了本DDD实战的电子书,被那些概念一路从头灌到尾,灌得作者头昏脑涨,一本电子书那么多文章愣是没有一点点像样的案例,看到最后也没明白那本电子书的作者究竟想写啥。原因之二是DDD经常出现在互联网黑话中,如果不能稍微了解一下DDD中的名词,我们一般的程序员甚至都不配和那些说这些黑话的人一起共事。
  为了帮助大家更好的理解这种虚无缥缈的概念,也为了更好的减少大家在新词频出的IT行业工作的痛苦,作者尝试用人话来解释下DDD,并且最后会举DDD在不同层面上使用的例子,来帮助大家彻底理解这个所谓的高大上的概念。二、核心概念
  核心的概念还是必须列的,否则你都不知道DDD的名词有多么恶心,但我会用让你能听懂的话来解释。1、领域子域核心域支撑域通用域领域
  DDD中最重要的一个概念,也是黑话中说的最多的,领域指的是特定的业务问题领域,是专门用来确定业务的边界。子域
  有时候一个业务领域可能比较复杂,因此会被分为多个子域,子域分为了如下几种:核心子域:业务成功的核心竞争力。用人话来说,就是领域中最重要的子域,如果没有它其他的都不成立,比如用户服务这个领域中的用户子域通用子域:不是核心,但被整个业务系统所使用。在领域这个层面中,这里指的是通用能力,比如通用工具,通用的数据字典、枚举这类(感叹DDD简直恨不得无孔不入)。在整个业务系统这个更高层面上,也会有通用域的存在,指的通用的服务(用户服务、权限服务这类公共服务可以作为通用域)。支撑子域:不是核心,不被整个系统使用,完成业务的必要能力。2、通用语言限界上下文通用语言
  指的是一个领域内,同一个名词必须是同一个意思,即统一交流的术语。比如我们在搞用户中心的时候,用户统一指的就是系统用户,而不能用其他名词来表达,目的是提高沟通的效率以及增加设计的可读性限界上下文
  限界上下文指的是领域的边界,通常来说,在比较高的业务层面上,一个限界上下文之内即一个领域。这里用一张不太好看的图来解释:
  3、事件风暴头脑风暴领域事件事件风暴
  指的是领域内的业务事件,比如用户中心中,新增用户,授权,用户修改密码等业务事件。头脑风暴
  用最俗的人话解释,就是一堆人坐在一个小会议室中开会,去梳理业务系统都有哪些业务事件。领域事件
  领域内,子域和子域之间交互的事件,如用户服务中用户和角色交互是为用户分配角色,或者是为角色批量绑定用户,这里的领域事件有两个,一个是为用户分配角色,另一个是为角色批量绑定用户。4、实体值对象实体
  这里可以理解为有着唯一标识符的东西,比如用户实体。值对象
  实体的具体化,比如用户实体中的张三和李四。
  实体和值对象可以简单的理解成java中类和对象,只不过这里通常需要对应数据实体。5、聚合聚合根聚合
  实体和实体之间需要共同协作来让业务运转,比如我们的授权就是给用户分配一个角色,这里涉及到了用户和角色两个实体,这个聚合即是用户和角色的关系。聚合根
  聚合根是聚合的管理者,即一个聚合中必定是有个聚合根的,通常它也是对外的接口。比如说,在给用户分配角色这个事件中涉及两个实体分别是用户和角色,这时候用户就是聚合根。而当这个业务变成给角色批量绑定用户的时候,聚合根就变成了角色。即使没有这样一个名词,我们也会有这样一个标准,让业务按照既定规则来运行,举个上文中的例子,给用户A绑定角色1,用户为聚合根,这样往后去查看用户拥有的角色,也是以用户的唯一标识来查,即访问聚合必须通过聚合根来访问,这个也就是聚合根的作用。三、用途及案例
  目前DDD的应用主要是在战略阶段和战术阶段,这两个名词也是非常的不讲人话,所谓的战略阶段,其实就是前期去规划业务如何拆分服务,服务之间如何交互。战术阶段,就是工程上的应用,用工程化做的比较好的java语言举例子,就是把传统的三层架构变成了四层架构甚至是N层架构而已。1、微服务的服务领域划分
  这是对于DDD在战略阶段做的事情:假如目前我司有个客服系统,内部的客服人员使用这个系统对外上亿的用户提供了形形色色的服务,同时内部人员觉得我们的客服系统也非常好用,老板觉得我们的系统做的非常好,可以拿出去对外售卖以提高公司的利润,那么这时候问题就来了,客服系统需要怎样去改造,才能够支持对外售卖呢?经过激烈的讨论,大致需求如下:对外售卖的形式有两种,分别是SaaS模式和私有化部署的模式。SaaS模式需要新开发较为复杂的基础设施来支持,比如租户管理,用户管理,基于用户购买的权限系统,能够根据购买情况来给予不同租户不同的权限。而私有化的时候,由于客户是打包购买,这时候权限系统就不需要再根据用户购买来判断。数据同步能力,很多公司原本已经有一套员工管理系统,通常是HR系统或者是ERP,这时候客服系统也有一套员工管理,需要把公司人员一个一个录入进去,非常麻烦,因此需要和公司原有的数据来进行同步。老板的野心还比较大,希望造出来的这套基础设施可以为公司其他业务系统赋能,能支持其他业务系统对外售卖
  在经过比较细致的梳理(DDD管这个叫事件风暴头脑风暴)之后,我们整理出了主要的业务事件,大致如下:
  1、用户可以自行注册租户,也可以由运营在后台为用户开通租户,每个租户内默认有一个超级管理员,租户开通之后默认有系统一个月的试用期,试用期超级管理员即可在管理端进行用户管理,添加子用户,分配一些基本权限,同时子用户可以使用系统的一些基本功能。
  2、高级的功能,比如客服中的机器人功能是属于要花钱买的,试用期不具备此权限,用户必须出钱购买。每次购买之后会生成购买订单,订单对应的商品即为高级功能包。
  3、权限系统需要能够根据租户购买的功能以及用户拥有的角色来鉴权,如果是私有化,由于客户此时购买的是完整系统,所以此时权限系统仅仅根据用户角色来鉴权即可。
  4、基础设施还需要对其他业务系统赋能。
  根据上面的业务流程,我们梳理出了下图中的实体
  最后再根据实体和实体之间的交互,划分出了用户中心服务以及计费服务,这两个服务是两个通用能力服务,然后又划分出了基于通用服务的业务层,分别是租户管理端和运营后台以及提供给业务接入的应用中心,架构图如下:
  基础设施层即为我们要做的东西,为业务应用层提供通用的用户权限能力、以及售卖的能力,同时构建开发者中心、租户控制台以及运营后台三个基础设施应用。2、工程层面
  这个是对于DDD在战术设计阶段的运用,以java项目来举例子,现在的搞微服务的,都是把工程分为了主要的三层,即控制层逻辑层数据层,但是到了DDD这里,则是多了一层,变成了控制层逻辑层领域能力层数据层。这里一层一层来解释下:
  分层
  描述
  控制层
  对外暴漏的接口层,举个例子,java工程的controller
  逻辑层
  主要的业务逻辑层
  领域能力层
  模型层,系统的核心,负责表达业务概念,业务状态信息以及业务规则。即包含了该领域(问题域)所有复杂的业务知识抽象和规则定义。
  数据层
  操作数据,java中主要是dao层四、总结
  在解释完了各种概念以及举例子之后,我们对DDD是什么有了个大概的认知,相信也是有非常多的争议。作者搞微服务已经搞了多年,也曾经在梳理业务的时候被DDD的各种黑话毒打过,也使用过DDD搞过工程。经历了这么多这方面的实践之后觉得DDD最大的价值其实还是在梳理业务的时候划分清楚业务领域的边界,其核心思想其实还是高内聚低耦合而已。至于工程方面,现在微服务的粒度已经足够细,完全没必要再多这么一层。这多出来的这一层,多少有种没事找事的感觉。更可笑的是,这个概念本身在对外普及自己的东西的时候,玩足了文字游戏,让大家学的一头雾水。真正好的东西,是能够解决问题,并且能够很容易的让人学明白,而不是一昧的造新词去迷惑人,也希望以后互联网行业多一些实干,少说一些黑话。

太阳系八大行星的运行轨道为什么在同一个平面上?如果你对太阳系的模式进行了更深入的研究,就会发现太阳,行星,卫星和小行星几乎是在一个平面上。为什么各大行星的运行轨道会在一个水平面上?类似的现象在其他星系成立吗?太阳系中的已知八大南沙珊瑚岛礁发育演化研究获进展星罗棋布于南海的珊瑚礁是南海最重要且独特的地质体,在生态和气候环境变化研究等方面发挥重要作用。中国科学院南海海洋研究所科研团队,以揭示珊瑚礁的形成过程和发育模式为主要科学目标之一,我们普通人,怎么就没有无限可能了近段时间,NASA连续发布詹姆斯韦布太空望远镜捕捉的星系照片,让我们可以比以往任何时候都更远更深更清楚地看到太空。但,还是那个老生常谈的问题。对于眼前的生活,仰望星空到底有什么意义HelloSpace将发射首颗PocketQube迷你测试卫星据Satnews9月5日报道,卫星星座技术初创公司HelloSpace计划成为在土耳其诞生的引人注目的技术初创公司之一,并将在其小卫星星座进入轨道后提供全球数据物联网服务。图片来自苏联提过一个条件,接受就将北方四岛还一半,日本却始终不敢答应我们不做领土交易。这是日本首相向俄罗斯低头,想换回北方四岛的归属权时俄罗斯总统普京所做出的回答。在日本的领土上,美国军队自第二次世界大战末期进驻日本后就再也没有撤出,这样的日本便可全球芯片产业未来趋势,中国4nm芯片封装技术相信大家对芯片产业的现状已经有所了解,那就是美国不断打压中国企业,特别是针对半导体企业的发展更为明显,同时美国掌握核心技术,也是我国无法与之相比的,很多国人了解到的现状,那就是中国约30厘米高!中国空间站种的水稻生长状态良好零距离到太空种粮盒子高度14厘米,超过了(14厘米),高秆水稻现在约30厘米高!8月29日,郑慧琼团队在中国空间站种的水稻顺利满月,发布会上,她举起一盒种有绿色水稻幼苗的演示品向媒娱乐圈遮羞布又被扯开,真是悲哀啊又一个流量爱豆塌房。参加选秀出道的前NINEPERCENT成员林彦俊,被八卦媒体拍到与美女同行进入酒店,疑似正在谈恋爱。消息曝光后,林彦俊工作室发表声明,指恋情消息不实。林彦俊也于金鹰奖越来越不行了近日,第31届中国电视金鹰奖首轮结果公布,有54部作品参与评选,首轮入围男主角有77人,女主角有72人,男配角的入围数量最多有104人,女配角数量也不少有90人入围,另外电视节目主反容貌焦虑的羊毛薅完了,辣目洋子该何去何从?文图图编辑嘈坊辣目洋子因为接连不断的翻车,从七月份开始被骂了整整一个多月。九月伊始,刚刚停歇没多久的骂战,就因为辣目洋子的又一翻车操作,再次掀起腥风血雨。9月1日,辣目洋子在社交平湖南移动直面登门挑战,谁是真拳皇?速来报名2022年街机格斗云游戏代表拳皇14即将登陆湖南,以咪咕快游APPTV为赛事搭载,大小屏多端发力。在这个金秋八月,十余城市联动,5G云游戏热潮以波涛汹涌之姿,推浪而至。湖南移动大门
青春回忆录还记得自己高考的那年2007年,芳龄17,由于户口在老家山东,在金昌没有户口,学习也属于中下层,于是也就没有回山东参加高考的兴趣了,读了两年半的高中,参加了会考,取得了毕业证,匆匆王海峰加大服务保障解决困难问题确保三夏生产工作高效开展视频加载中(记者刘坤项晓莉)6月6日,渭南市华州区委书记王海峰在调研指导全区三夏生产工作时强调,要抢抓晴好天气有利时机,集中人力物力抢收抢种,确保粮食丰产丰收。区委常委副区长韩佩等今年养老金调整差距拉大?工龄15年20年30年40年,分别涨多少?今年养老金调整差距拉大?工龄15年20年30年40年,分别涨多少?退休时养老金的多少,与退休人员的工龄和缴费水平关系极大,工龄越长,缴费水平越高,退休养老金就越高,体现了养老金多缴势非常重要,用得好就能无往不利,对得道者来说同样是这样世界上有一种神秘的力量,你一定不要忽略了它。它是一种电流,我们看不到,但你一旦得到它,智慧之灯就会亮。这就是道的力量。得道者,就会拥有道的力量,因而得势失道者,就会失去道的力量,因俗语人睡三觉,命比纸薄,指的是啥?并非迷信,建议了解下睡觉是人类绝对必需的过程,每个人都需要睡觉,人在睡觉的时候,身体和大脑会进行自我修复,睡醒之后,身体和大脑会恢复到更好的状态。睡觉对人的身体有很多好处,不过有的时候睡觉的方式不对,当日涨停股可转债炒作的成功案例(贵州燃气)贵州燃气(600903)涨停股可转债参与法的案例,贵州燃气前一天贵州燃气涨停,股票不能买入,但是贵州燃气(600903)发行的可转债是可以买入的,尾盘买入。2022。6。8尾盘买入香帅北大金融学课2540页完整版这是北京大学光华管理学院副教授香帅的出品的北大金融学课,干货内容十足,一共2540页纸内容。只要你愿意投入70个小时的学习时间,你能学到金融学的核心知识,理解金融学的架构和本质,建从中国500强到造假600多亿,又一个企业标杆崩了作者赛文,编辑小市妹连续5年财务造假,累计虚增收入615亿元,累计虚增利润119亿元,胜通集团的惊天财务造假案数额巨大手法拙劣牵扯多方余震不断而曾经轰动一时的康美药业造假案,虚增营被骂了十二年的丁启阵,再发文正式建议语文课本删除背影这段时间以来,想必大家都被毒教材毒插图风波刷屏了!因为其内容太过粗俗,一时间引发了全网声讨。其中插图作者吴勇,以及他的老师吕敬人,毫无悬念地成为了众矢之的。随后因为插图中的国旗居然四川新闻联播绵阳企业干政府帮稳住经济基本盘视频加载中我省日前发布今年1至5月,各地社会用电量数据,其中绵阳市达到了69。96亿千瓦时,同比增长12。18,远超全省平均增速。如果说用电量是地方经济的晴雨表,那么,在这张指标飘周大生非凡国潮遇见国潮系列传承中华千年文化周大生珠宝携手具有鲜明中国文化特色的国潮IP,特邀多位国内知名文化学者与资深珠宝设计师珠联璧合,打造非凡国潮IP系列三大古法黄金文化产品矩阵,分别为吉祥布达拉系列如意普陀系列和遇见
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网