摘要:
简单工厂模式是最简单的工厂模式,又叫静态工厂方法模式。它实现了同一接口的一些类进行实例的创建,一个工厂通过条件语句创建多个产品,产品的创建逻辑集中在一个工厂类中,客户听过传递不同的参数给工厂,实现创建不同产品的目的。如下: Phone是一个接口,其有一个行为是ring,NokiaPhone和EricssonPhone分别实现了这个接口,在客户端使用时通过传入的是什么手机类型,而得到不同的手机。实现如下: Phone.java: packageorg.designpattern.creational.simplefactory; publ... 阅读全文
摘要:
工厂方法模式(Factory Method),其含义是定义一个创建对象的接口,让子类来决定实例化哪一个类,其又叫多态性工厂模式。这样各种产品使用不同的工厂来生产,各种工厂中的创建方法可以互相独立地改变,并将这些工厂类抽象出一个共同的父类。其适用性如下: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 其适用性: 当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创建的对象的时候。 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。 如下图: . 阅读全文
摘要:
抽象工厂模式(Abstract Factory),其意图主要是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它具体的类。 抽象工厂模式是对工厂方法模式的拓展和延伸,工厂方法是针对任意数量的产品等级,多应用于虚拟构造子类,抽象工厂则可以处理多个产品族结构。也就是说工厂方法模式只能创造出来一类茶品,而抽象工厂模式可以创造多种产品。其适用性在于: 一个系统要独立于它的产品的创建、组合和表示时。 一个系统要由多个产品系列中的一个来配置时。 当你要强调一系列相关的产品对象的设计以便进行联合使用时。 当你提供一个产品类库,而只想显示它们的接口而不是实现时。 如下图: 抽象工厂模式分离... 阅读全文