简单工厂模式
策略模式 定义算法家族,分别封装起来,相互替换。
单一职责 一个类仅有一个引起它变化的原因
开发封闭原则 类 模块 可以扩展不能改变
依赖倒转原则 抽象不应该依赖细节,细节应该依赖抽象
里氏替换原则 子类能够替换父类
装饰模式 动态的给一个对象添加一些额外的职责
代理模式 为其他对象提供一种代理以控制对这个对象的访问
作用于 1,远程代理
2 虚拟代理
工厂方法模式 定义一个用于创建对象的接口,让子类决定实例化哪个类 接口实现
原先模式 拷贝原型建立新的对象
模板方法模式 把不变的步骤搬移到超类
迪米特法则 最少知识原则,如果两个类不必彼此直接,那么这两个类就不应当发生直接的相互作用,如果其中一个类需要调用另一类的某一个方法的话,可以通过第三者转发这个调用
外观模式 为子系统中的一组接口提供一个一致的界面。定义一个高层的接口,使用子系统更加容易
建造者模式 将一个复杂对象的构建和表示分离,使用相同的创建过程构建不同的表示
抽象工厂模式-提供一个创建一系列相关对象的接口,而无需指定它们具体的类
观察者模式 定义了一种一对多的依赖关系
状态模式–当一个对象的内在状态改变时允许改变其行为,这个对象看起来象是改变了其类。
主要是解决当一个对象状态转换条件表达式过于复杂时,把状态的判断逻辑转移到表示不同状态的一系列类当中。把复杂的判断逻辑简单化。
适配器模式 –将一个类的接口转换成客户希望的另外一个接口。用于兼容
备忘录模式 在不破坏封装性的前提下,捕获一个对象内部的状态。
组合模式 将对象组合成树形结构以表示部分-整体
迭代器模式 提供一个方法访问内部元素,而又不暴露该对象内部
单例模式 –保证一个类只实例化一次
合成 聚合复用原则-
桥接模式 将抽象部分与它的实现部分分离,使它们可以独立的变化
命令模式 将一个请求封装成一个对象
职责链模式 使多个对象都有机会处理请求从而避免请求的发送者和接收者之间的耦合关系,
中介者模式 用中介对象来封装一系列的对象交互
享元模式–共享复用
解释器模式
访问者模式