DDD学习笔录——提炼问题域之有效提炼知识的模型(二)——CRC卡
2017-06-23 22:50
375 查看
方式五:CRC卡
第一次见到这个东东。
CRC stands for Classes, Responsibilities, Collaborations. 类名,类的职责,类的协作关系
CRC(Class-Responsibility-Collaborator,类-职责-合作):CRC卡是一个标准索引卡集合,每一张卡片表示一个类。类名在最上方,类的职责在左侧,类的协作关系放在右侧。
类: 代表一系列对象的集合,这些对象是对系统设计的抽象建模,可以是一个人、一件物品等等,类名写在整个CRC卡的最上方。
职责: 包括这个类对自身信息的了解,以及这些信息将如何运用。诸如,一个人,他知道他的电话号码、地址、性别等属性,并且他知道他可以说话、行走的行为能力。这个部分在CRC卡的左边。
协作: 指代另一个类,我们通过这个类获取我们想要的信息或者相关操作。这个部分在CRC卡的右边。
CRC卡让团队和业务专家专注于思考问题域中概念的语言。
CRC卡被划分为三个部分且包含一下信息:
1、类名称 ,它表示领域中的一个概念
2、类的职责
3、与满足其目的相关且所需的类
CRC卡讲求高内聚低耦合
耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息
内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
耦合:一个软件结构内不同模块之间互连程度的度量。
一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
第一次见到这个东东。
CRC stands for Classes, Responsibilities, Collaborations. 类名,类的职责,类的协作关系
CRC(Class-Responsibility-Collaborator,类-职责-合作):CRC卡是一个标准索引卡集合,每一张卡片表示一个类。类名在最上方,类的职责在左侧,类的协作关系放在右侧。
类: 代表一系列对象的集合,这些对象是对系统设计的抽象建模,可以是一个人、一件物品等等,类名写在整个CRC卡的最上方。
职责: 包括这个类对自身信息的了解,以及这些信息将如何运用。诸如,一个人,他知道他的电话号码、地址、性别等属性,并且他知道他可以说话、行走的行为能力。这个部分在CRC卡的左边。
协作: 指代另一个类,我们通过这个类获取我们想要的信息或者相关操作。这个部分在CRC卡的右边。
CRC卡让团队和业务专家专注于思考问题域中概念的语言。
CRC卡被划分为三个部分且包含一下信息:
1、类名称 ,它表示领域中的一个概念
2、类的职责
3、与满足其目的相关且所需的类
CRC卡讲求高内聚低耦合
耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息
内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
耦合:一个软件结构内不同模块之间互连程度的度量。
一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
相关文章推荐
- DDD学习笔录——提炼问题域之有效提炼知识的模型(三)
- DDD学习笔录——提炼问题域之有效提炼知识的模型(一)
- DDD学习笔录——提炼问题域之知识提炼与协作
- DDD学习笔录——提炼问题域之知识提炼与协作的基本原则
- DDD学习笔录——提炼问题域之与领域专家一起获得领域见解
- DDD学习笔录——简介DDD的战术模式、问题空间和解空间
- 第一章 Actionscript学习基本知识笔记及flashdevelop软件的安装问题
- IT专业人士有效的学习专业知识的技巧
- javascript学习笔录1(【问题】JavaScript的相关问题)
- 今天继续学习安卓,好多不懂,看到网站那么高深的知识,我都不好意思发帖问一些小问题了,哈哈,不过学习不分大小,只看态度
- 学习日志一----jsp模型一跟模型二的几个问题
- JAVA学习笔记--4.多线程编程 part1.背景知识和内存模型
- 好开心呀,能用自己学习知识去做作业了,也算是解决一些问题吧。操作系统实践作业:短作业优先(SJF)和先来先服务算法(FCFS)
- java基础知识回顾之java Thread类学习(四)--java多线程安全问题(锁)
- java基础知识回顾之java Thread类学习(五)--java多线程安全问题(锁)同步的前提
- 性能测试学习中的问题与解答4--关联的相关知识
- 关于横竖屏切换问题几点知识(Android学习随笔一)
- 浅述知识概念学习和问题解决之道
- 关于基于DDD+Event Sourcing设计的模型如何处理模型重构的问题的思考