随笔分类 -  DDD

领域驱动设计
摘要:方式六:延迟对模型中概念的命名 对领域建模时命名很重要。 因为在不断的知识提炼过程中经常会发现已经被命名的概念与你最初理解的有出入,这时你当初的命名就会变成一个问题。其问题在于 最初选作名称的这个词所带来的“错误”联想 并且该联想还会限定你的思维方式。 Gery Young(我也不认识是谁)建议,为 阅读全文
posted @ 2017-06-24 09:50 longphui 阅读(258) 评论(0) 推荐(0)
摘要:方式五:CRC卡 第一次见到这个东东。 CRC stands for Classes, Responsibilities, Collaborations. 类名,类的职责,类的协作关系 CRC(Class-Responsibility-Collaborator,类-职责-合作):CRC卡是一个标准索 阅读全文
posted @ 2017-06-23 22:50 longphui 阅读(502) 评论(0) 推荐(0)
摘要:创建一个有用的模型是一个协作的实践过程;不过,业务用户也可能发现这一过程令人疲倦且认为它效果不佳。业务用户都是很忙的人。要让你的知识提炼环节充满有趣的互动,可以引入一些有促进作用的游戏以及其他形式的需求收集方式来吸引你业务用户。 方式一:专注在最有意思的对话上 不要一次只与领域专家和业务相关人员探讨 阅读全文
posted @ 2017-06-19 23:31 longphui 阅读(546) 评论(0) 推荐(0)
摘要:业务和开发团队之间的协作是DDD必不可少的部分,并且它是处于开发阶段的产品获得成功的关键。 领域专家指的是那些从业务领域的政策和工作流程到棘手处和特性都具有深刻理解的人。能够为你的问题区域提供深刻见解的人。他们可能是对于你当前工作领域具有很强的领悟和理解的产品所有者、用户或其他任何人。 1、领域专家 阅读全文
posted @ 2017-06-18 22:19 longphui 阅读(484) 评论(0) 推荐(0)
摘要:1、通过通用语言达成共识 通用语言,已经强调过好多遍了,在DDD再怎么重视都不为过,后面可能还会讲。 知识提炼的输出以及共识的构建就是常见的通用语言(UL)。 当与业务相关人员和主题专家进行建模时,每个人都应该有意识地始终应用富含领域专有术语的通用语言。这一语言必须现实制作,并在描述领域模型和问题域 阅读全文
posted @ 2017-06-15 07:12 longphui 阅读(428) 评论(0) 推荐(0)
摘要:提炼问题域的意义 理解一个复杂问题域以便创建简单且有用的模型需要深入详尽的知识以及深刻的见解,这些只能通过与从内到外理解该领域的人协作得到。对模型的设计进行连续实验和探究正是DDD的能力所能实现的。只有通过协作以及共享对问题域的理解,你才能有效设计一个模型以应对业务的挑战,这样也才能具备足够的灵活性 阅读全文
posted @ 2017-06-14 23:14 longphui 阅读(506) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-06-14 00:46 longphui 阅读(176) 评论(0) 推荐(0)
摘要:可以将DDD看成一种开发思想体系;它促成了一种新的以领域为中心的思维方式。 它是一种学习过程,而非最终目标,这就是DDD的最大优势。 任何团队都可以编写一个软件来满足一组用例的需求,但那些将时间和精力花在其正在处理的问题域中的团队则能够持续演化产品以满足新的业务用例。 DDD本身并非一种严格的方法论 阅读全文
posted @ 2017-06-13 23:57 longphui 阅读(541) 评论(0) 推荐(0)
摘要:DDD在存在许多DDD模式的同时,也有大量实践和指导原则,这些都是DDD思想体系成功的关键。 1、专注于核心领域 DDD强调的是在核心子域付出最多努力的需要。核心子域是你的产品会成功还是会失败的差异化因素所在。它是产品的独特卖的点,也是构建而非购买产品的原因。 核心领域是将为你的业务提供竞争优势并产 阅读全文
posted @ 2017-06-13 00:09 longphui 阅读(336) 评论(0) 推荐(0)
摘要:DDD的战术模式 DDD的战术模式(也称为模型构造块)是一个帮助创建 用于复杂有界上下文的有效模型的 模式集合。 也就是我们常说的设计模式。 问题空间 问题空间将问题域提炼成更多可管理的子域,是真对于问题域而言的。 DDD问题空间的影响在于揭示什么是重要的以及在何处付出努力。 解空间 DDD解方面的 阅读全文
posted @ 2017-06-11 23:48 longphui 阅读(1600) 评论(0) 推荐(0)
摘要:前一篇,简单介绍了DDD战略模式的提炼问题域,这篇简单介绍它如何塑造应用程序的架构。 1、创建一个模型以解决领域问题 为每一个子域构建一个软件模型以处理领域问题并让软件与业务保持一致。 这个模型并非现实世界的模型,而更多的是构建来满足业务用例需求的一个抽象体,同时仍保持业务领域的规则和逻辑。 为了避 阅读全文
posted @ 2017-06-11 07:30 longphui 阅读(396) 评论(0) 推荐(0)
摘要:DDD强调专注于业务问题域的需要:其专业术语、为何开发该软件的关键原因,以及对于业务来说什么才是成功 问题域涉及你当前正在构建软件的主题领域 DDD强调的是,在致力于为大型复杂业务系统创建软件时,专注领域要高于其他一切需求。 DDD能同时应对理解问题域以及创建有助于解决其内在问题的可维护解决方案的挑 阅读全文
posted @ 2017-06-10 23:35 longphui 阅读(187) 评论(0) 推荐(0)