首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用 DDDDDD 建模,破解 DDD 的魔法?

以上就是我们在建模时的三个基本思想。 我们的问题是什么? 回到标题上,我们用 DDDDDD 进行建模,只是我们想到的解决方案之一,而不是问题。...而我们想做的是:如何实现 DDD 设计与代码实现的双向绑定?于是乎,DSL 与双向图形化便是我们想到的解。所以,作为解决方案的第一步,那便是对 DDD 进行建模,以进行 DDD 的图形生成。...在进行 DDD 建模时,DDD 的核心域取决于 scope,也就是会出现因团队而异的场景。 战略设计的模型:如何表示上下文间的关系?...业内对于采用领域特定语言来表示 DDD 建模结果,已经相对比较成熟了,典型的方式就是:DDD DSL 与基于现有的工具扩展。...第二类,便是如在 DDD 社区的《DDD 建模工作坊指南》里采用的 UML 示例: @startuml namespace user-context {  User >

75420

DDD中的建模方法有哪些

一、背景 在之前的文章中已经介绍了DDD相关的概念模式,DDD相关的业务技术架构,但是我们还没有找到一个核心的抓手去实践DDDDDD的一个核心本质就是对业务建模,或者领域建模。...聚集就是DDD中的聚合模式。...五、用户故事建模法 5.1 概念 基于用户故事(需求)建模,也叫用例建模法。...https://www.cnblogs.com/xishuai/p/ddd-product-design.html 5.4 优势 这是一种相对传统的建模方式,通过一些核心的用例作为作为突破点我们很容易得到一些概念模型和领域上下文划分的依据...我这边今年已经完成了DDD整个概念和实战体系相关的内容,如果想要了解更多请关注公众号: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

99330
您找到你想要的搜索结果了吗?
是的
没有找到

最全的【DDD领域建模】小白学习手册(文末附资料)

Tech 导读 DDD领域建模被各个大小厂商提起并应用,而每个人都有自己的理解,本文就是针对小白,系统地讲解DDD到底是什么,解决了什么问题,及一些建议和实践。...DDD提供了一种新的设计思路,通过对于业务子域和限界上下文的划分,建立跨越业务和技术的统一语言,为业务建模的同时,拉通业务和技术实现。...2.9 领域驱动在中台业务分析中的实践 1、业务中台DDD领域 应用架构规范 2、业务中台使用DDD领域建模的愿景(架构分层) 3、现有系统使用DDD进行领域分析 4、数据结构模型边界的构建...所以不要纠结于什么才是一个DDD框架,怎么写一个DDD框架。 更不要死板的去套DDD的各种充血贫血模型,找到适合自己的模型,解决建模问题才是最重要的。...实战DDD(Evans DDD:Domain-Driven Design领域驱动设计)(https://www.jdon.com/mda/ddd.html)领域建模是一种艺术的技术,不是数学的技术,它是用来解决复杂软件快速应付变化的解决之道

54730

现在的谷歌AlphaGo想挑战顶级选手会成功吗?

国际象棋每一步平均也只有35种可能的走法,但是围棋却有2^155种局面,无怪乎围棋堪称是世界上最难的游戏。...人工智能系统需要记住大量的棋谱,还需要一个高手来进行陪练。ZEN之前选择了日本一流的围棋选手——九段棋手武宫正树来陪练,2012年3月,在武宫正树让了5子和4子的前提下连胜了两局。...所以说,AlphaGo如果想战胜李世石,那么就需要找李世石或是和李世石差不多的顶级高手进行陪练,要熟悉李世石的下棋特点,这样才能增大赢的几率,不过现在时间上还是相当紧迫的。...一个多月之前,DeepMind的CEO Demis Hassabis表示,他们的秘密团队很有可能破解了围棋,围棋并不像国际象棋一样通过蛮力就可以解决,围棋是漂亮的、有规律可循的、有形状可追的,普通的计算机并不能做到...从国际象棋的历史看,从1997年第一次打败人类选手,到2006年再无人类选手可以战胜。但是人工智能想要在围棋上战胜人类,还需要长时间不断地学习、模仿,才有可能打败人类顶级选手的可能。

49450

【吐血推荐】领域驱动设计学习输出

让我们拿国际象棋举个例子: ?...简而言之,这样的一个国际象棋程序,自身对国际象棋规则完全是一窍不通的。就是拿出个表格给你,随你填成啥样。在这件事情上,完全指望使用者不犯错,这是何等的心大! ?...「国际象棋填表系统」并不会阻止你这样做,因为它并没有正确与错误之分。 这时候,「CRUD工程师」被客户、老板抓出来收拾残局了。...是由「Eric Evans」最早提出的综合软件系统分析和设计的面向对象建模方法,如今已经发展为一种针对大型复杂系统的领域建模与分析方法。...DDD 帮助统一语言 在UML作为建模主流的时代,软件设计被明确分为面向对象分析(OOA),面向对象设计(OOD)和面向对象编码(OOP)阶段。

91220

【吐血推荐】领域驱动设计学习输出

简而言之,这样的一个国际象棋程序,自身对国际象棋规则完全是一窍不通的。就是拿出个表格给你,随你填成啥样。在这件事情上,完全指望使用者不犯错,这是何等的心大!...「国际象棋填表系统」并不会阻止你这样做,因为它并没有正确与错误之分。 这时候,「CRUD工程师」被客户、老板抓出来收拾残局了。...是由「Eric Evans」最早提出的综合软件系统分析和设计的面向对象建模方法,如今已经发展为一种针对大型复杂系统的领域建模与分析方法。...DDD 帮助统一语言 在UML作为建模主流的时代,软件设计被明确分为面向对象分析(OOA),面向对象设计(OOD)和面向对象编码(OOP)阶段。...在为问题域寻求解决方案时,需要从宏观层次划分不同业务关注点的子领域,然后再深入到子领域中从微观层次对领域进行建模

45020

从“陪练”到“赢家”:人机博弈的六十年

◆ ◆ ◆ 从“陪练”到“赢家” 1952年,英国计算机科学家克里斯托弗·斯特拉奇编写出第一个西洋跳棋程序。...1962年,美国麻省理工学院的科学家阿兰·科托克编写了一个能够击败国际象棋业余爱好者的程序,不久该校的理查德·格林布赖特又开发出了MacHack VI型机,成为第一台有实力参与国际象棋锦标赛的计算机。...1977年,美国西北大学的拉里·阿特肯和大卫·斯雷特开发的CHESS 4.6第一次能够击败A级国际象棋手。...1988年卡内基·梅隆大学的默里·坎贝尔等人编程的HiTech赢得了宾夕法尼亚州国际象棋锦标赛,被授予大师头衔。...而1997年,IBM的“深蓝”计算机击败了国际象棋世界冠军卡斯帕罗夫,成为人工智能历史上的标志性事件。 除了逻辑领域,人工智能在自然语言方面的“才华”也在不断提高。

63150

技能 | 只要五步,教你撸一个缩减版国际象棋AI

国际象棋到中国围棋,人类与“机器”已经较上了劲。 看过那么多场对战,你是不是也想上手体验一把? 来来来,简单五步,手把手教你撸一个缩减版的国际象棋AI。...首先,我们来看一些基础概念: 移动生成 棋面评估 Minimax算法 alpha beta剪枝 在每个步骤中,我们将通过一个国际象棋程序技术来改进算法。我将演示每个步骤是如何影响算法的。...); return newGameMoves[Math.floor(Math.random() * newGameMoves.length)]; }; 这个算法不是一个很强的对手,但是个不错的陪练...我们将会使用piece-square table稍稍调整过的版本,就是我们上边在国际象棋编程设计wiki中提到的。...通过文中方法,我们已经编写了一个能进行简单对战的国际象棋程序算法。算法中涉及AI的部分仅有200行代码,可以实现象棋中的一些基本概念。你可以在GitHub上查看最终的版本。

1.6K70

DDD落地难?三个迭代带你由入门到进阶|极客时间

这里给大家分享一张钟敬梳理的「DDD 学习知识地图」,内容出自于《手把手教你落地 DDD》专栏,你可以跟着这个“套路“建模型、写代码,拾级而上,循序渐进地掌握 DDD: 本课程适合对 DDD 感兴趣的初级和中级开发人员...可以说,他对 DDD建模、架构和落地的各方面知识和技能都了如指掌,这种资历的大佬能出来开课,把自己独特的方法和经验共享出来,真的很难得。...三个迭代,带你真正掌握 DDD 为了帮你和你的团队顺利掌握和落地 DDD,解决领域建模不好掌握、领域模型难以实现、概念混乱等痛点问题,本课程将以一个企业管理系统案例为导向,模拟敏捷开发过程,带你体验系统开发的三个迭代...最后,还会学习重要的建模技巧 -- 泛化,这是领域建模由初级走向中、高级的关键技能。学完这个部分,相信你就会有渐入佳境的感觉了。...迭代三:进阶建模、架构和落地技能 重点讲解限界上下文、事件驱动和 CQRS 等模式,带你深入讨论怎样为更加灵活多变的业务建模,帮你深化对泛化的理解。

48210

有人骂DDD、有人爱DDD,我们讲道理 | 极客时间

这里给大家分享一张钟敬梳理的「DDD 学习」知识地图,内容出自于《手把手教你落地 DDD》专栏,你可以跟着这个“套路“建模型、写代码,拾级而上,循序渐进地掌握 DDD: 再跟大家聊聊「钟敬」 钟敬老师目前在...可以说,他对 DDD建模、架构和落地的各方面知识和技能都了如指掌,这种资历的大佬能出来开课,把自己独特的方法和经验共享出来,真的很难得。...三个迭代,带你真正掌握 DDD 为了帮你和你的团队顺利掌握和落地 DDD,解决领域建模不好掌握、领域模型难以实现、概念混乱等痛点问题,本课程将以一个企业管理系统案例为导向,模拟敏捷开发过程,带你体验系统开发的三个迭代...迭代一:打通 DDD 的最小闭环 主要会带你夯实基础,实现一个“麻雀虽小、五脏俱全”的项目。打通从需求分析,到领域建模,再到架构设计,最后到数据库和代码实现的完整闭环。...最后,还会学习重要的建模技巧 -- 泛化,这是领域建模由初级走向中、高级的关键技能。学完这个部分,相信你就会有渐入佳境的感觉了。

31330

京东、阿里、美团等巨头纷纷投向的 DDD,究竟高在哪里?| 极客时间

这里给大家分享一张钟敬梳理的「DDD 学习」知识地图,内容出自于《手把手教你落地 DDD》专栏,你可以跟着这个“套路“建模型、写代码,拾级而上,循序渐进地掌握 DDD: 再跟大家聊聊「钟敬」 钟敬老师目前在...可以说,他对 DDD建模、架构和落地的各方面知识和技能都了如指掌,这种资历的大佬能出来开课,把自己独特的方法和经验共享出来,真的很难得。...三个迭代,带你真正掌握 DDD 为了帮你和你的团队顺利掌握和落地 DDD,解决领域建模不好掌握、领域模型难以实现、概念混乱等痛点问题,本课程将以一个企业管理系统案例为导向,模拟敏捷开发过程,带你体验系统开发的三个迭代...迭代一:打通 DDD 的最小闭环 主要会带你夯实基础,实现一个“麻雀虽小、五脏俱全”的项目。打通从需求分析,到领域建模,再到架构设计,最后到数据库和代码实现的完整闭环。...最后,还会学习重要的建模技巧 -- 泛化,这是领域建模由初级走向中、高级的关键技能。学完这个部分,相信你就会有渐入佳境的感觉了。

53920

如何学习领域驱动设计

从战略到战术,DDD给出了诸多关于软件架构、设计、建模与编码的方法和模式,以用于应对业务复杂度。...领域建模本身是一个主观思考的结果,这也带来优劣判定的不可衡量。 只要克服对DDD的畏难情绪(甚至是反感情绪),其实,DDD的学习并没有想象的那么困难。最大的挑战在于如何落地?...将这种思维方式运用到软件项目开发过程中,就是我在课程中提到的“领域模型驱动设计”,它的核心内容可以通过层层推进的形式汇集为如下三句话: 以领域为分析建模的驱动力 以场景为设计建模的驱动力 以任务为实现建模的驱动力...当你在开始领域模型驱动设计时,必须在分析建模阶段抛开实现技术对你的影响,与需求分析人员、测试人员一起单纯针对“领域”进行分析建模,即提炼与抽象领域概念,并以统一语言和模型的形式来表达。...在设计建模阶段,围绕着一个完整的“场景”开展设计工作。

1.2K10

公司终于决定放弃传统微服务,全面拥抱 DDD

比如,采用 DDD 软件设计时,首先要领域建模,然后将领域模型转换为程序设计,还要有仓库和工厂,并构建支持 DDD 的平台架构。在项目初期,DDD 没有任何优势。...本期精品课程为期 3 天,内容由 6 大篇章 19 节干货构成,包括: Day01 DDD设计篇:运用事件风暴法进行业务领域建模、统一语言建模 Day02 DDD实践篇:通过领域模型落地系统设计:数据库...,并让你在理解业务架构的基础上,掌握领域建模、统一语言建模等重要部分的设计。...课程都有哪些特色 (1)用实战案例演练业务领域建模的分析设计过程 (2)通过实战学习与客户进行统一语言建模,提高学习业务的能力 (3)演练在业务需求不断更迭的过程中通过DDD设计越来越复杂的系统 (4)...超强收获 在课程中,名师将带你深入浅出复杂的DDD领域驱动设计,从理论、核心点切入,用大厂真实案例帮助你真正拥有以下核心能力: (1)掌握如何与客户进行统一语言建模,提高学习业务的能力; (2)掌握业务领域建模与事件风暴等方法

68431

DeepMind又出大招!新算法MuZero登顶Nature,AI离人类规划又近了一步

相对于围棋、国际象棋、日本将棋,Atari游戏的规则与动态变化未知且复杂。...以研究AI打扑克出名的FAIR研究科学家Noam Brown对MuZero评价道: 当前人们对游戏AI的主要批评是:模型不能对现实世界中相互作用进行准确建模。...但是,对环境的各个方面进行建模非常复杂,导致算法无法在视觉丰富的领域(例如Atari)中竞争。截至目前为止,在Atari上取得最好结果的是无模型系统,例如DQN,R2D2和Agent57。...鉴于其他方法的局限性,MuZero没有尝试对整个环境建模,而只是对智能体进行决策过程中至关重要的方面进行建模。毕竟,如果在下雨的环境,知道打伞避雨比对空气中的雨滴行为进行建模更有用。...具体来说,MuZero对三个环境要素进行建模(这三个要素对于规划非常重要): 价值:当前处境的好坏程度 策略:所能采取的最佳行动 奖励:最后一个动作的好坏程度 这三个要素都是使用深度神经网络来学习,也是

1.2K30

从腾讯视频架构重构,看DDD的概念与方法

《从4万行代码降到1.8万,腾讯视频竟然用DDD做架构重构?》中,我们详细拆解了 DDD 的理论发展和实际落地过程中的量化评估方案,为大家深入浅出地揭开了 DDD 的神秘面纱。...例如,通过使用“隐喻、分层、抽象、提炼”的手法,将一个处于混沌状态的系统建模为一种清晰的结构,用 DDD 的术语来说,就是领域建模或战略建模。...江湖派与学院派 结合点是 Model 软件复杂度是一个建模问题,建模即是要搭建一个符合逻辑的概念体系,这个概念体系就是模型 Model。...领域驱动与模型驱动之间的关系,可以总结如下: 前面一部分内容讲了 DDD 的基本概念,接下来进入 DDD 的实战部分,分为四个部分:战略建模、战术建模、统一语言、建模工具,每个部分沿三个点来展开:操作方法...首先讲战略建模与战术建模: 操作方法 通读领域驱动的经典著作,在消化吸收再创造的基础上,我们可以总结出建模大型系统的四种方法: 使用隐喻,比如电动汽车其实就是一台电脑装了四个轮子。

85242

最强写作AI竟然学会象棋和作曲,语言模型跨界操作引热议,在线求战

△训练GPT-2下国际象棋 作者表示: 事实证明,只要让 GPT-2预测下一步棋,就可以训练它下国际象棋。 这只是花费了几天的小项目,但结果是相当令人兴奋。...普莱斯发现,仅仅经过一个小时的训练,GPT-2 1.5B模型就表现出了国际象棋“天赋”。 虽然在下了几步棋之后,就会出现无效移动,但这次实验还是证明了,制造GPT-2国际象棋引擎并非不可能。 ?...这个AI写起文章来文思泉涌毫无违和感,无需针对性训练就能横扫各种特定领域的语言建模任务,还具备阅读理解、问答、生成文章摘要、翻译等等能力。 ?...效果惊人外,在各种特定领域数据集的语言建模测试中,GPT-2都取得了优异的分数。 网友们对其完全开源的呼声越发强烈,于是在接下来的时间里,GPT-2经历了“挤牙膏式的开源”。...一位斯坦福CS博士则直言,可能使用非常古早的语言建模方法同样能实现这一结果。说GPT-2“学会下棋”是一种误导。 ? 那么,你怎么看呢? 作者介绍 ?

56220

DDD开篇总结

DDD是什么 DDD根本上是一种软件开发的建模方法论,其中使用了面向对象分析思想,并不是独立于外全新的体系 模型是对现实世界的抽象,那建模是对现实世界的抽象过程,但模型毕竟是模型,不能代替现实,就像类比不能代替问题本身一样...建模过程与建模者的观察视角和对问题的认知有直接关系,所以我们要带着审视的眼光看待模型 软件开发的最大问题之一便是业务人员和技术人员需求某种翻译才能交流,那么模型的质量就取决于翻译的还原度 建模不仅要还原实现世界...是一个软件之所以是这个软件的核心 建模可以通过建模=构造块+语法范式表达,各类语言都可以通过这种范式表达出来 ?...(5) DDD领域建模 构造块:实体/值对象/领域服务/领域事件/聚合根/工厂/仓库/限界上下文 语法规则:就是“构造块”之间的联系(不是很明显,这个需要深入研究。...,在DDD中选择实用性 领域专家与开发人员一起创建一套适用于领域建模的通用语言。

46830

研发深恶痛绝,业界持续热捧,DDD 到底是啥?

本文围绕 DDD 的经典著作,参照学院派的风格,将 DDD 概括为四部分: 结构论:战术建模与战略建模。 过程论:系统重构与软件工程。 语言论:基于模型的统一语言。 建模论:模型驱动的领域建模。...战略建模与战术建模的划分 DDD 相关经典著作,一般都将 DDD 划分为战略设计和战术设计两部分。...顾名思义,战略设计就是宏观设计,即对系统整体进行建模,称之为“战略建模”;战术设计则是微观设计,即对系统的局部进行细粒度的建模,称之为“战术建模”。...战术建模 战术建模侧重于从微观层面对系统进行建模DDD 提到的战术建模方法主要是构造块与柔性设计。 构造块:在类、对象、组合、继承等层次上对系统进行设计。...总的来说,DDD 没多少新东西,只是把同样的东西,以区别于学院派的语言,重新归纳了一遍,从而看起来像是新的东西。例如,把概要设计讲成战略建模,把详细设计讲成战术建模,没有本质区别,听起来高大上而已。

66141
领券