23种设计模式

5种建造者模式

1,工厂模式 主要用于实现单一接口类的创建,创建一个对象
2 抽象工厂模式 扩展性较好
3 建造者模式 创建复合对象,例如对象数组
4 原型 注意深复制和浅复制
5 单例模式 (多线程 感觉有点理解困难)

7种结构型模式

1适配器模式(接口转换,利用现有接口, 分3小种类)
java设计模式笔记 - 图1

2.装饰模式(Decorator 要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例)
装饰模式就是给一个对象增加一些新的功能
java设计模式笔记 - 图2

3 代理模式(中介)
代理模式就是多一个代理类出来,替原对象进行一些操作
装饰模式和代理模式区别
装饰模式构造函数以原对象为参数,而代理模式构造函数不持有.结构大体类似!
java设计模式笔记 - 图3

4 外观模式(组合类)
外观模式是为了解决类与类之间的依赖关系的,计算机启动过程 CPU 内存等
java设计模式笔记 - 图4

5桥接模式 就是把事物和其具体实现分开,解耦,比如jdbc 连接数据库
需要设置具体实现对象,桥接类一般为抽象类
java设计模式笔记 - 图5

6 ,部分整体 将多个对象组合在一起进行操作,常用于表示树形结构中
Tree 和Treenode 一个父节点,根节点,多个子节点
java设计模式笔记 - 图6

7 享元模式(Flyweight JDBC连接池)
享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。

11种 行为模式(注重方法)

java设计模式笔记 - 图7

1 策略模式(和工厂模式有点类似,根据不同的对象调用不同的方法 )
策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法即可,calculate
java设计模式笔记 - 图8

2 模板方法模式(Template Method 重载!!)
继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用
java设计模式笔记 - 图9

3 观察者模式(其实就是持有对象,调用函数)
java设计模式笔记 - 图10

4 迭代模式
java设计模式笔记 - 图11

5责任链模式(Chain of Responsibility)

6 命令模式(Command)

7备忘录模式(Memento)

8状态模式(State)

9访问者模式(Visitor)

10 中介者模式(Mediator)

11解释器模式(Interpreter)

参考 http://blog.csdn.net/zhangerqing