摘要:需要生成的对象叫做产品 ,生成对象的地方叫做工厂 。 1.简单(静态)工厂模式 产品的抽象类: 1 public abstract class INoodles { 2 /** 3 * 描述每种面条啥样的 4 */ 5 public abstract void desc(); 6 } 具体的产品类:
阅读全文
摘要:适配器模式定义:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 适配器模式有三种实现方式:类适配器、对象适配器、接口适配器。类适配器由多继承实现,所以针对Java就不可能了,而对象适配器由接口(多组合)实现,所以可扩展性也比较高。 类适配器,以类给到,在Adap
阅读全文
摘要:一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责
阅读全文
摘要:装饰者模式:动态将责任附加到对象上。若要扩展功能,装饰者提供了比集成更有弹性的替代方案。 原则:封装变化;多用组合,少用继承;针对接口编程,不针对实现编程;为交互对象之间的松耦合设计而努力;对扩展开放,对修改关闭。 Beverage是抽象基类,是被装饰者,getDescription()有基本实现,
阅读全文
摘要:观察者模式:定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 原则:封装变化;多用组合,少用继承;针对接口编程,不针对实现编程;为交互对象之间的松耦合设计而努力。 Subject是被观察者接口,WeatherData是真正的被观察者实现类,Observer是观
阅读全文
摘要:策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 原则:封装变化;多用组合,少用继承;针对接口编程,不针对实现编程。 上图是经典例子 小鸭子的uml图,由于要实现多种类型的鸭子,有的鸭子会飞,有的不会飞,有的鸭子会叫,有的不会叫,所以将Duck作
阅读全文
摘要:1.饿汉模式 类的构造函数定义为private的,保证其他类不能实例化此类,然后提供了一个静态实例并返回给调用者。饿汉模式是最简单的一种实现方式,饿汉模式在类加载的时候就对实例进行创建,实例在整个程序周期都存在。它的好处是只在类加载的时候创建一次实例,不会存在多个线程创建多个实例的情况,避免了多线程
阅读全文