软件设计模式概述
设计模式一般包含模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式等基本要素,4个关键要素为:模式名称、问题、解决方案、效果。
模式的分类
根据目的可分为三类:
- 创建型模式。主要用于创建对象。
- 结构型模式。主要用于处理类或对象的组合。
- 行为型模式。主要用于描述类或对象如何交互和怎样分配职责。
根据范围,可分为两种:
- 类模式。处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是一种静态关系。
- 对象模式。处理对象间的关系,这些关系在运行时变化,更具动态性。
详细的划分,纵向为基于目的的分类,横向为基于范围的分类:
面向对象设计原则
UML图
统一建模语言(UML, Unified Modeling Language)是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模。用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。是一套总结了以往建模技术的经验并吸收了当今最优秀成果的标准建模方法。
类的UML图示
可见性为: - private ······ # protected ······ + public
例如:
类之间的关系
| 关系名称 | 关系 | 连线方式 |
|---|---|---|
| 关联 | 类与类之间有联系(单项或双向) | 带箭头的实线 |
| 聚合 | 整体与部分的关系(可独立) | 带空心菱形的直线 |
| 组合 | 整体与部分(同生共死) | 带实心菱形的直线 |
| 依赖 | 类的方法使用另一个类的对象作为参数 | 带箭头的虚线 |
| 泛化 | 父类与子类(就是继承) | 带空心三角形的实线 |
| 实现 | 类实现了接口 | 带空心三角形的虚线 |