设计模式学习笔记 1.介绍
2012-02-27 23:38
260 查看
学习设计模式是为了深入理解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
高内聚
控制器
用来接收和处理系统事件的职责,一般分配给能够代表整个系统的类(可能有多个,分管不同的事务)。
多态
纯虚构
间接
受保护变化
设计原则:
比设计更重要的是原则。
单一职责原则
开发-封闭原则
依赖倒置原则
接口隔离原则
替换原则
学习设计模式的基础知识:
必须先有类和对象,才可以谈设计模式。把现实世界的业务功能抽象成对象,如何抽象?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
高内聚
控制器
用来接收和处理系统事件的职责,一般分配给能够代表整个系统的类(可能有多个,分管不同的事务)。
多态
纯虚构
间接
受保护变化
设计原则:
比设计更重要的是原则。
单一职责原则
开发-封闭原则
依赖倒置原则
接口隔离原则
替换原则
相关文章推荐
- [学习笔记]JavaBean中DAO设计模式介绍
- 设计模式学习笔记(一):策略模式
- 设计模式学习笔记(3) - 抽象工厂模式
- 设计模式学习笔记
- 设计模式学习笔记(1)
- Decorator模式——设计模式学习笔记
- C#设计模式学习笔记-单例模式
- 设计模式学习笔记——工厂方法模式
- 阿Sam的设计模式学习笔记----Singleton模式
- HeadFirst 设计模式学习笔记18--中介者(Mediator)模式拾零
- 设计模式学习笔记——适配器模式
- 设计模式学习笔记——装饰者模式
- 设计模式学习笔记:开篇
- 阿Sam的设计模式学习笔记----Factory模式(之Simple Factory)
- 六、原型模式——设计模式学习笔记
- 设计模式学习笔记(五)模版方法模式
- 设计模式C++学习笔记之四(Multition多例模式)
- 十九、命令模式——设计模式学习笔记
- .net设计模式之工厂模式学习笔记
- Java学习笔记之设计模式原则