设计模式学习笔记 1.介绍
学习设计模式是为了深入理解OO思想和原则。
学习设计模式的基础知识:
必须先有类和对象,才可以谈设计模式。把现实世界的业务功能抽象成对象,如何抽象?GRASP给出了基本的指导原则。
GRASP, General Responsibility Assignment Software Patterns,通用职责分配软件模式。描述了对象设计和职责分配的基本原则。
- 信息专家
如果某个类拥有完成某个职责所需的所有信息,那么这个职责应该分配给这个类去实现。
- 创建者
正确创建耦合关系,凡符合以下条件,皆可用A创建B。
- A是B的聚合
- A是B 的容器
- A持有初始化B的信息
- A记录B的实例
- A频繁使用B
- 低耦合
尽可能减少类之间的连接。
作用:降低因一个类的变化而影响其它类的范围;类变得简单,更内聚更容易理解。
造成A、B之间的耦合有如下情况:
- A是B的属性
- A调用B的实例方法
- A的方法中引用了B,返回值或参数中
- A是B的了类,或A实现了B
降低耦合的原则:Don't talk to strangers
- 高内聚
- 控制器
用来接收和处理系统事件的职责,一般分配给能够代表整个系统的类(可能有多个,分管不同的事务)。
- 多态
- 纯虚构
- 间接
- 受保护变化
设计原则:
比设计更重要的是原则。
- 单一职责原则
- 开发-封闭原则
- 依赖倒置原则
- 接口隔离原则
- 替换原则
本博客已不再更新,欢迎访问新地址