设计模式

  • 实践:

    • zookeeper 观察者模式
    • JDBC 桥接模式
    • SNMP Plugin 对象的适配器模式 、代理模式
  • 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

  • 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

  • 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html

  • 单例模式(Singleton):饱汉和饿汉
  • 工厂模式(Factory):创建单个类
  • 抽象工厂(AbstractFactory):
  • 建造者模式(Builder):创建多个类
  • 原型模式(Prototype):将一个对象作为原型进行复制和克隆,需要实现cloneable接口,深复制需要读入当前对象的二进制流,再写出二进制流对应的对象

  • 适配器模式(Adapter):将类的接口转换为客户端期望的另一个接口表示
    • 类的适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。
    • 对象的适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个Wrapper类,持有原类的一个实例,在Wrapper类的方法中,调用实例的方法就行。
    • 接口的适配器模式:当不希望实现一个接口中所有的方法时,可以创建一个抽象类Wrapper,实现所有方法,我们写别的类的时候,继承抽象类即可。
  • 装饰模式和代理模式的区别
    • 装饰者模式(Decorator):客户需要指明需要装饰的类
    • 代理模式(Proxy): 客户并不知道委托了一个对象
  • 外观模式(Facade):解决类与类之间的依赖关系,就像Spring将类与类之间的关系配置到配置文件中,而外观模式就是将类与类之间的关系放在Facade类中,降低类之间的耦合度。
  • 桥接模式:与代理模式类似,只是被代理的对象可以是多个不同的实例
  • 观察者模式(Observer):当一个对象变化时,依赖该对象的对象都会收到通知
  • 迭代器模式(Iterator):
  • 责任链模式(Chain of Responsibility)
  • 命令模式(Command):Invoker对象持有Command对象,Command对象持有Receiver对象
  • 备忘录模式(Memento):保存一个对象的状态,必要时恢复。将一个对象的需要保存的状态定义为一个新类,保存在Storage类中
  • 状态模式(State):
  • 访问者模式(Vistor):访问者和被访问者互相传递对象
    http://www.cnblogs.com/java-my-life/archive/2012/06/14/2545381.html
  • 中介者模式():http://men4661273.iteye.com/blog/1634907

你可能感兴趣的:(设计模式)