DDD学习笔录——提炼问题域之知识提炼与协作

提炼问题域的意义

理解一个复杂问题域以便创建简单且有用的模型需要深入详尽的知识以及深刻的见解,这些只能通过与从内到外理解该领域的人协作得到。对模型的设计进行连续实验和探究正是DDD的能力所能实现的。只有通过协作以及共享对问题域的理解,你才能有效设计一个模型以应对业务的挑战,这样也才能具备足够的灵活性应对新出现的需求。

知识提炼与协作

知识提炼是从问题域中提炼出相关信息的技术,其目的是构建能满足业务用例需求的有用模型。

时间: 2024-10-14 13:29:18

DDD学习笔录——提炼问题域之知识提炼与协作的相关文章

DDD学习笔录——提炼问题域之知识提炼与协作的基本原则

1.通过通用语言达成共识 通用语言,已经强调过好多遍了,在DDD再怎么重视都不为过,后面可能还会讲. 知识提炼的输出以及共识的构建就是常见的通用语言(UL). 当与业务相关人员和主题专家进行建模时,每个人都应该有意识地始终应用富含领域专有术语的通用语言.这一语言必须现实制作,并在描述领域模型和问题域时使用.该语言还应该用于模型的代码实现,使用用作类名.属性和方法名称相同的术语和概念.正是这一语言使得业务和开发团队拥有了关于软件的有意义沟通. UL用于将模型的代码描述绑定到以业务能够理解的语言和图

DDD学习笔录——提炼问题域之有效提炼知识的模型(三)

方式六:延迟对模型中概念的命名 对领域建模时命名很重要. 因为在不断的知识提炼过程中经常会发现已经被命名的概念与你最初理解的有出入,这时你当初的命名就会变成一个问题.其问题在于  最初选作名称的这个词所带来的"错误"联想  并且该联想还会限定你的思维方式. Gery Young(我也不认识是谁)建议,为你不确定的模型区域使用难以理解的词组成名称(例如可以用于问题域无关的 颜色 等).作为为模型区域或概念提供真实名称的替代方式,可以使用难以理解的词,直到你完全理解了一个关切问题所有的责任

DDD学习笔录——领域驱动设计的常见误区(即错误的理解)

可以将DDD看成一种开发思想体系:它促成了一种新的以领域为中心的思维方式. 它是一种学习过程,而非最终目标,这就是DDD的最大优势. 任何团队都可以编写一个软件来满足一组用例的需求,但那些将时间和精力花在其正在处理的问题域中的团队则能够持续演化产品以满足新的业务用例. DDD本身并非一种严格的方法论,而是必须与一些迭代式软件项目方法论结合使用以构建并演化一个有用的模型. 由此可见下面的这些理解,存在很大的误区: 1.战术模式是DDD的关键 这明显不对,DDD并不是一种面向对象的设计,也不是一种以

DDD学习笔录——简介DDD的战术模式、问题空间和解空间

DDD的战术模式 DDD的战术模式(也称为模型构造块)是一个帮助创建 用于复杂有界上下文的有效模型的 模式集合. 也就是我们常说的设计模式. 问题空间 问题空间将问题域提炼成更多可管理的子域,是真对于问题域而言的. DDD问题空间的影响在于揭示什么是重要的以及在何处付出努力. 解空间 DDD解方面的内容涵盖了可以影响应用程序架构发展并让其更易于管理的模式.

学习 shell脚本之前的基础知识

转载自:http://www.92csz.com/study/linux/12.htm  学习 shell脚本之前的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位甚至用shell脚本的编写能力来衡量这个linux系统管理员的经验是否丰富.笔者讲这些的目的只有一个,那就是让你认真对待shell脚本,从一开始就要把基础知识掌握牢固,然后要

最大熵学习笔记(一)预备知识

  生活中我们经常听到人们说"不要把鸡蛋放到一个篮子里",这样可以降低风险.深究一下,这是为什么呢?其实,这里边包含了所谓的最大熵原理(The Maximum Entropy Principle).本文为一则读书笔记,将对最大熵原理以及由此导出的最大熵模型进行介绍,重点给出其中所涉及数学公式的理解和详细推导. 相关链接 最大熵学习笔记(零)目录和引言 最大熵学习笔记(一)预备知识 最大熵学习笔记(二)最大熵原理 最大熵学习笔记(三)最大熵模型 最大熵学习笔记(四)模型求解 最大熵学习笔

加壳学习笔记(一)-基础知识

1.预备知识 1.关于栈,在windows里面的堆栈其实很简单,当学了才知道哈,呵呵,第一要记住的是windows里面的栈是向低地址生长的(extended,延伸,呵呵,顺便丰富下英语的单词量,确实是少的可怜),你可以这样认为,栈就像是一个倒立的箱子,箱子的口子是向下的,底是向上的,这里就表明了系统栈的分布也是延伸方向是由高地址向低地址extended,在最初的空栈阶段,栈顶(extended stack pointer,简称是esp)在栈底的低一个位置,呵呵,其实很好理解,就是说最初的箱子是空

2015 MVP 社区大课堂开课了, 给App及Web开发者学习最新的Universal Windows 平台知识

Windows 10 Developer Readiness - Powered by MVPs - 由微软最有价值专家(MVP)主讲在免费线直播课程 ---------- One windows platform, the Universal Windows Platform ---------- 欢迎参加在6月11日周四晚上7点,由微软MVP专家为您带来de Windows 10应用开发课程,微软最有价值专家MVP讲师将为您呈现微软最新技术,帮助开发者在Universal Windows 平

IOS学习之路--OC的基础知识

运行过程 1.编写OC程序:.m源文件 2.编译.m文件为.o目标文件:cc -c xxxx.m 3.链接.o文件为a.out可执行文件:cc xxxx.o -framework Foundation 4.执行a.out文件:./a.out #import 的功能跟#include一样,只是更好用,他避免了头文件的多次包含 为了能使用OC的特性, 一定要引入#import <Foundation/Foundation.h> 类定义// @implementation 和 @end // 设计(