设计模式目录导航

1、面向对象设计六大基本原则

2、建立型模型(5种)

  关注对象的建立过程。帮助咱们建立对象。html

  1 单例模式   singleton

    保证一个类只有一个实例,而且提供一个访问该实例的全局访问点。算法

  2 工厂模式   factory

    (1)简单工厂模式   simple factory

      用来生产同一等级结构中的任意产品(对于增长新的产品,须要修改已有地代码)。网络

    (2)工厂方法模式   factory method

      用来生产同一等级结构中的固定产品(支持增长任意产品)。ui

  3 抽象工厂模式   abstract factory

    用来生产不一样产品族的所有产品(对于新增长的产品无能为力,可是支持增长产品族)。spa

  4 建造者模式   builder

    分离了对象子组件的单独结构(由Builder负责)和装配(由Director负责),从而能够构造出复杂的对象。prototype

  5 原型模式   prototype  

    当经过 new 产生一个对象须要很是繁琐的数据准备或访问权限时,则可使用原型模式。设计

3、结构型模型(7种)

  关注对象和类的组织。是从程序的结构上实现松耦合,从而能够扩大总体的类结构,用来解决更大的问题。代理

  1 适配器模式   adapter

    使原来因为接口不兼容不能一块儿工做的类能够一块儿工做。server

  2 代理模式   proxy

    为真实对象提供一个代理,从而控制对其真实对象获得访问。htm

  3 桥接模式   bridge

    处理多层继承结构,处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度能够独立的扩展在抽象层创建关联。

  4 装饰模式   decorator

    动态的给一个对象添加额外的功能,比继承灵活。

  5 组合模式   composite

    将对象组合成树状结构以表示“部分和总体”层次结构,使得客户能够统一的调用叶子对象和容器对象。

  6 外观模式   facade

    为子系统提供统一的调用接口,使得子系统更加容易使用。

  7 享元模式   flyweight

    运用共享技术有效地实现管理大量细粒度对象,节省内存,提升效率。

4、行为型模型(11种)

  关注系统中对象之间的相互交互,研究系统在运行时对象之间的相互通讯和协做,进一步明确对象的职责。

  1 责任链模式   chain of responsibility

    将可以处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求。若是能则处理,不然传递给;链上的下一个对象。

  2 命令模式   command

    将一个请求封装到一个对象,从而使得可用不一样的请求对客户进行参数化。

  3 解释器模式   interpreter

    用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的编译器和解释器设计。

  4 迭代器模式   iterator

    提供一种能够遍历聚合对象的方式。又称为游标(cursor)模式。

  5 中介者模式   mediator

    若是一个系统中对象之间的联系呈现网状结构,对象之间存在大量多对多的关系,致使关系及其复杂,这时能够引入一个中介者对象,使得各个对象只跟中介者对象打交道,从而将复杂的网络结构化为星型结构。

  6 备忘录模式   memento

    保存某个对象内部状态的拷贝,使得之后就能够将该对象恢复到原先的状态。

  7 观察者模式   observer

    主要用于 1 :N 的通知。当一个对象(目标对象)的状态变化时,它须要通知一系列对象(观察者对象),令它们作出响应。

  8 状态模式   state

    用于解决系统中复杂对象的状态转换以及不一样状态下行为的封装问题。

  9 策略模式   strategy

    策略模式对应于解决某一个问题的一个算法族,容许用户从该算法族中任选一种算法解决一个问题,同时能够方便的更换算法或者增长新的算法。而且由客户端决定调用哪一个算法。

  10 模板方法模式   template method

    处理步骤父类中定义好,具体实现延迟到子类中定义。

  11 访问者模式   visitor

    表示一个做用于某对象结构中的各元素的操做,它使咱们能够在不改变元素的类的前提下定义做用于这些元素的新操做。

相关文章
相关标签/搜索