23 种设计模式汇集

如果你还不了解设计模式是什么的话?

那就先看设计模式引言 !

学习GoF 设计模式的重要性

建筑和软件中模式之异同

A. 创建模式

设计模式之Singleton(单态/单件) 阎宏博士讲解:单例(Singleton )模式

保证一个类只有一个实例,并提供一个访问它的全局访问点

设计模式之Factory(工厂方法和抽象工厂)

使用工厂模式就象使用new 一样频繁.

设计模式之Builder

汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件复杂的工作,Builder 模式就是将这两

种情况分开进行。

设计模式之Prototype(原型)

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

B. 结构模式

设计模式之Adapter(适配器)

使用类再生的两个方式:组合(new)和继承(extends),这个已经在thinking in java 中提到过.

设计模式之Proxy(代理)

以Jive 为例,剖析代理模式在用户级别授权机制上的应用

设计模式之Facade(门面?)

可扩展的使用JDBC 针对不同的数据库编程,Facade 提供了一种灵活的实现.

设计模式之Composite(组合)

就是将类用树形结构组合成一个单位.你向别人介绍你是某单位,你是单位中的一个元素,别人和你做买卖,相当于

和单位做买卖。文章中还对Jive 再进行了剖析。

设计模式之Decorator(装饰器)

Decorator 是个油漆工,给你的东东的外表刷上美丽的颜色.

设计模式之Bridge(桥连)

将牛郎织女分开(本应在一起,分开他们,形成两个接口),在他们之间搭建一个桥(动态的结合)

设计模式之Flyweight(共享元)

提供Java 运行性能,降低小而大量重复的类的开销.

C. 行为模式

设计模式之Command(命令)

什么是将行为封装,Command 是最好的说明.

设计模式之Observer(观察者)

介绍如何使用Java API 提供的现成Observer

设计模式之Iterator(迭代器)

这个模式已经被整合入Java 的Collection.在大多数场合下无需自己制造一个Iterator,只要将对象装入Collection 中,

直接使用Iterator 进行对象遍历。

设计模式之Template(模板方法)

实际上向你介绍了为什么要使用Java 抽象类,该模式原理简单,使用很普遍.

设计模式之Strategy(策略)

不同算法各自封装,用户端可随意挑选需要的算法.

设计模式之Chain of Responsibility(责任链)

各司其职的类串成一串,好象击鼓传花,当然如果自己能完成,就不要推委给下一个.

设计模式之Mediator(中介)

Mediator 很象十字路口的红绿灯,每个车辆只需和红绿灯交互就可以.

设计模式之State(状态)

状态是编程中经常碰到的实例,将状态对象化,设立状态变换器,便可在状态中轻松切换.

设计模式之Memento(注释状态?)

很简单一个模式,就是在内存中保留原来数据的拷贝.

设计模式之Interpreter(解释器)

主要用来对语言的分析,应用机会不多.

设计模式之Visitor(访问者)

访问者在进行访问时,完成一系列实质性操作,而且还可以扩展.

设计模式引言

设计面向对象软件比较困难,而设计可复用的面向对象软件就更加困难。你必须找到相关的对象,以适当的粒度将它们归

类,再定义类的接口和继承层次,建立对象之间的基本关系。你的设计应该对手头的问题有针对性,同时对将来的