设计模式
1. 设计模式分类
创建型模式:工厂方法,抽象工厂,单例,建造者,原型
结构性模式:适配器,装饰器,代理、外观、桥接、组合、享元
行为型模式:策略、模板方法、观察者、迭代子、责任链、命令、备忘录、状态、访问者、终结者、解释器
其他:并发型和线程池
2. 创建模式
1)工厂模式
工厂模式有三种:普通、多方法、静态方法
子类都继承父类接口,建一个工厂(class),根据输入/方法来决定对象化什么子类,返回类型是父类对象。一般用静态工厂方法,因为不用实例化工厂。
如果要加入多个工厂类,则可以创建一个总工厂(interface)然后工厂扩写接口,这种情况,只要实例化不同的工厂,就可以获得不同的产品,有利于扩展。
2)单例模式
单例对象
3)建造者模式
4)原型模式
将一个对象作为原型,复制、克隆产生一个新的对象。
3. 结构模式
1)适配器模式
可以解决由于接口不匹配造成的类的兼容性 -> 将某个类的接口转换成客户端需要的接口
2)装饰模式
动态增加对象新功能,装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。
3)代理模式
代理类,代替原对象进行操作。
4)外观模式
解决依赖关系。将类和类的关系放进一个类中,降低类的耦合度
5)桥接模式
把事物和具体实现分开,解耦
6)组合模式
部分-整体模式,解决树形结构
7)享元模式
实现对象的共享 -> 共享池。在对象多的时候可以减少内存开销。
4. 关系模式(11种太多了=。=)