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

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

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

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

    DDD中的建模方法有哪些

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

    1.5K30

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

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

    64410

    最全的【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)领域建模是一种艺术的技术,不是数学的技术,它是用来解决复杂软件快速应付变化的解决之道

    2.4K32

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

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

    99020

    《DDD 小册》第2章:DDD 建模 —— 架构师总说的风暴模型是什么?

    四色建模(风暴事件)是整个 DDD 这套软件设计方法中用于工程拆分界限上下文的非常重要的实践手段。...所以会使用 DDD 提供专门的建模方法和名词进行统一的设计,此外因为 DDD 的统一建模语言,不涉及技术编码,也具有通用性,所以可以在建模过程让产品、研发、测试、架构师等人员一起参与讨论。...怎么建模 DDD 的建模过程,是以一个用户为起点,通过行为命令,发起行为动作,串联整个业务。而这个用户的起点最初来自于用例图的分析。...在使用 DDD 的标准对系统建模前,一堆人要先了解 DDD 的操作手段,这样才能让产品、研发、测试、运营等了解业务的伙伴,都能在同一个语言下完成系统建模。...我们在整个 DDD 建模过程中,就是在寻找这些节点。 3. 超市举例 我们先通过一个真实场景的案例,代入下 DDD 四色建模的术语,这样可以更有益大家对四色建模理解。这个场景是一个在超市购物的场景。

    89110

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

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

    86631

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

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

    90820

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

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

    52150

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

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

    1.8K70

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

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

    37730

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

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

    50420

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

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

    1.4K30

    如何学习领域驱动设计

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

    1.3K10

    AI英语口语陪练APP的开发

    开发AI英语口语陪练APP与小程序有相似之处,但作为APP,通常可以承载更丰富的功能、更复杂的交互和更深度的系统集成。以下是开发AI英语口语陪练APP的详细流程和考虑因素。...核心价值主张:AI英语口语陪练APP旨在模拟真人外教,为用户提供随时随地、个性化、无压力的口语练习环境,帮助用户纠正发音、提高流利度、扩展词汇语法,并增强自信心。...口语陪练的需求如何?目标用户: 详细定义你的目标用户群体(如学生、职场人士、备考人群、少儿等),他们的痛点、学习习惯、付费意愿。...AI服务: 大多数云厂商都提供预训练的语音识别 (ASR)、文本转语音 (TTS)、自然语言处理 (NLP) 服务,可以大大加速开发进程,但在定制化和精度上可能不如自建模型。...开发AI英语口语陪练APP是一个长期的、需要持续投入的过程。但如果能提供真正解决用户痛点、体验优秀的智能学习工具,其市场潜力巨大。

    13710

    当谈论DDD到底在谈论什么

    DDD的核心概念有哪些:包括事件风暴、领域建模、聚合、值对象、泛化建模、限界上下文和CQRS。...低配版的DDD落地:包括领域分析、简单领域建模和基础编码实现,可省略一些复杂内容,后续应逐步完善。...在编程和设计方面,DDD的作用主要体现在以下几个方面:领域建模:DDD使用领域模型来表达业务领域的结构和行为,领域模型是对业务领域的抽象和概括,能够准确反映业务的本质。...DDD(领域驱动设计)、ER(实体关系模型)和UML(统一建模语言)三者关系DDD(领域驱动设计)、ER(实体关系模型)和UML(统一建模语言)在软件开发中都起着重要的作用。...在低配版本的DDD落地中,可以省略一些相对复杂或次要的内容,例如:深入的泛化建模:如果业务中泛化关系不太复杂,可以暂时简化或省略对泛化的详细建模。

    12310

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

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

    78650
    领券