【设计模式】总览

# 设计模式概览

一、建立型设计模式

1. 简单工厂(Simple Factory)
定义一个工厂类,能够根据输入的不一样返回不一样类的实例。
2. 工厂方法(Factory Method)
定义一个用于建立对象的接口,让子类决定实例化哪个类,Factory Method使一个类的实例化延迟到了子类。
典型场景:一、日志记录器;二、数据库访问,当用户不知道最后系统采用哪一类数据库,以及数据库可能有变化时。
3. 抽象工厂(Abstract Factory)
提供一个建立一系列相关或相互依赖对象的接口,而无须指定它们的具体类。
具体应用场景: 一、QQ 换皮肤,一整套一块儿换。 二、生成不一样操做系统的程序。
4. 建造者工厂(Builder)
具体应用场景:Java 中的 StringBuilder。
5. 单例(Singleton)
保证一个类只有一个实例,并提供一个访问它的全局访问点。
6. 原型(Prototype)
用原型实例指定建立对象的种类,而且经过拷贝这些原型来建立新的对象。
具体应用场景:Java 中的 Object clone() 方法。

二、结构型设计模式

1. 适配器(Adapter)
具体应用场景: 一、美国电器 110V,中国 220V,就要有一个适配器将 110V 转化为 220V。 三、在 LINUX 上运行 WINDOWS 程序。 四、Java 中的 jdbc。
2. 桥接(Bridge)

详细信息数据库

3. 组合(Composite)
具体应用场景:在 Java AWT 和 SWING 中,对于 Button 和 Checkbox 是树叶,Container 是树枝。
4. 装饰(Decorate)
5. 外观(Facade)
6. 享元(Flyweight)
具体应用场景:一、Java 中的 String,若是有则返回,若是没有则建立一个字符串保存在字符串缓存池里面。 二、数据库的数据池。
7. 代理(Proxy)

三、行为型设计模式

1. 职责链(Chain of responsibility)
2. 命令(Commander)
3. 解释器(Interpreter)
4. 迭代(Iterator)
具体应用场景:Java 中的 iterator。
5. 中介者(Mediator)
6. 备忘录(Memo)
7. 观察者(Observer)
8. 状态(State)
9. 策略(Category)
10. 模板方法(Template)
11. 访问者(Visitor)

设计模式之间关系

~~~ TODO设计模式

设计模式对比

~~~ TODO缓存

相关文章
相关标签/搜索