设计模式学习中……
2011-10-17 16:23
141 查看
描述一个在我们周围一再出现的问题,然后描述解决这个问题的核心方法,这样就能够无数次地使用这个解决方法而不必重复劳动——Christopher Alexander
设计模式的目标是封装变化的部分。
可把模式的基本概念看做一般情况下程序设计的基本概念:增加一个抽象层。对某事物进行抽象的时候,隔离特定的细节,最直接的动机之一是为将变化的事物和不变的事物分离开来。
系统设计基本原则:
围绕系统开发成本最高的部分构建系统的设计。
组合优于类继承。
只要能用,就用最简单的方法。
GoF的书中讨论了23种常见的设计模式,可以分为以下的三类:
1)创建型(Creational):用于怎样创建一个对象。通常包括隔离对象创建的细节、这样代码不依赖于对象是什么类型,因此在增加一种新的对象类型的时候不需要改变代码。比如单例(Singleton)模式、工厂(Factory)模式、构建器(Builder)模式;
2)结构型(Structural):影响对象之间的连接方式,确保系统的变化不需要改变对象间的连接。比如代理(Proxy)模式和适配器(Adaptor)模式;
3)行为型(Behavioral):在程序中处理具有特定操作类型的对象。这些对象封装要执行的的操作过程,如解释一个语言、实践一个请求、遍历一个序列或者实现一个算法等。比如命令(Command)模式、模板方法(Template Method)模式、状态(State)模式、策略(Strategy)模式、职责链(Chain of Responsibility)模式、观察者(Observer)模式、多派遣(Multiple Dispatching)模式、访问者(Vistor)模式。
设计模式的目标是封装变化的部分。
可把模式的基本概念看做一般情况下程序设计的基本概念:增加一个抽象层。对某事物进行抽象的时候,隔离特定的细节,最直接的动机之一是为将变化的事物和不变的事物分离开来。
系统设计基本原则:
围绕系统开发成本最高的部分构建系统的设计。
组合优于类继承。
只要能用,就用最简单的方法。
GoF的书中讨论了23种常见的设计模式,可以分为以下的三类:
1)创建型(Creational):用于怎样创建一个对象。通常包括隔离对象创建的细节、这样代码不依赖于对象是什么类型,因此在增加一种新的对象类型的时候不需要改变代码。比如单例(Singleton)模式、工厂(Factory)模式、构建器(Builder)模式;
2)结构型(Structural):影响对象之间的连接方式,确保系统的变化不需要改变对象间的连接。比如代理(Proxy)模式和适配器(Adaptor)模式;
3)行为型(Behavioral):在程序中处理具有特定操作类型的对象。这些对象封装要执行的的操作过程,如解释一个语言、实践一个请求、遍历一个序列或者实现一个算法等。比如命令(Command)模式、模板方法(Template Method)模式、状态(State)模式、策略(Strategy)模式、职责链(Chain of Responsibility)模式、观察者(Observer)模式、多派遣(Multiple Dispatching)模式、访问者(Vistor)模式。
相关文章推荐
- 【OC学习-29】单例设计模式的理解、案例和简单总结
- 设计模式深入学习--Interpreter 解释器模式(行为型模式)
- 【幻化万千戏红尘】qianfengDay07-java基础学习:static、设计模式之单例模式
- 设计模式深入学习--Observer 观察者模式(行为型模式)
- 设计模式学习笔记三(行为型模式)
- 设计模式学习笔记-准备篇
- 设计模式C++学习笔记之三(Singleton单例模式)
- 设计模式学习之路-组合模式
- 设计模式学习笔记-桥接模式
- C#设计模式学习笔记-单例模式
- 设计模式C++学习笔记之十九(State状态模式)
- 设计模式学习之——单例模式
- 设计模式学习笔记-单例模式
- 设计模式学习笔记--命令模式
- 学习《Head First 设计模式》的一点小小的感悟与总结(一)——设计模式简介
- java设计模式-工厂模式学习笔记
- 从零学习编程设计模式
- GOF-23种设计模式——装饰模式(学习笔记)
- 设计模式学习-----简单工厂模式
- 设计模式学习笔记(2)