赞
踩
在一定环境中解决一些问题的方案(通俗来说:特定环境中用固定的套路解决问题)
设计模式是一套反复被人使用,多数人知晓的,经过分类编目的代码设计经验的总结
设计模式最终的目的是为了应对变化,提高代码的复用性
客户需求的变化
技术平台的变化
开发团队的变化
市场需求的变化
…
通常和对象创建有关,涉及到对象实例化的方式(5种)
描述的是如何组合类和对象获得更大的结构(7种)
描述类和对象的交互以及分配职责(11种)
DIP:Dependence Inversion Principle
OCP:Open For Extension, Closed For Modification Principle
SRP:Single Responsibility Principle
LSP:Liskov Subsitution Principle
ISP:Interface Segregation Principle
CARP:Composite/Aggregate Reuse Principle
LOD:Law of Demeter
描述类本身结构以及类与类之间一些关系
在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)、依赖关系(Dependecy)、泛化关系(Generalization)、关联关系(Association)、聚合关系(Aggregation)、组合关系(Composition)和实现关系(Realization)
C++ 中一个类的类图组成如下:
+: 公有属性
-: 私有属性
#: 保护属性
name: string 成员名: 类型
eat(): void 成员函数: 返回值类型
斜体: 抽象类或者纯虚函数
依赖关系是指:两个或多个类之间依存关系,如植物类依赖于土壤类。
依赖关系还可以再细分为5种类型,分别是
- 绑定依赖(Binding)
- 实现依赖(Realization)
- 使用依赖(Usage)
- 抽象依赖(Abstraction)
- 授权依赖(Permission)
依赖关系用虚线箭头来表示,箭头指向为依赖的方向
简单的讲就是类之间的继承关系
用空心三角形和实线来表示,箭头指向为父类
关联关系是类之间一种相互影响的关系,影响的方向就是关联的方向
用实线箭头表示
聚合关系是类之间的一种较弱的耦合关系,如一个字符串数组和一个字符串就是一种聚合关系
用空心的菱形和实线箭头来表示,箭头方向为被聚合的类
组合关系是类之间一种整体与部分之间的关系,如一只青蛙有四条腿,青蛙类与青蛙腿类之间的关系就是组合关系
实心的菱形和实线箭头来表示,箭头指向为被组合的类
一般来讲,实现关系是针对类与接口之间的关系而言的
空心三角形和虚线表示
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。