在上一篇的工厂方法模式中,通过一个公用的类对其他具有相同特性(实现相同接口或继承同一父类)的类的对象进行创建。随之带来的问题在于:当新定义了一个具有相同特性的类时,需要修改工厂类。这与设计模式中的开闭原则有些违背。因此,通过抽象工厂模式:创建多个工厂类而不是一个工厂类,一旦需要创建新的类对象,只需增...
分类:
其他好文 时间:
2014-05-26 13:49:47
阅读次数:
218
当增加新的产品时,我们就需要修改简单工厂类,这违反了涉及模式中的
“对扩展开放,对修改关闭”。解决方案是抽象工厂类,让抽象工厂类的子类去实例化具体产品。在这种设计下,每增加一个产品就需要增加一个对应的具体工厂,看似繁琐,但扩展性好。类图代码
分类:
编程语言 时间:
2014-05-26 10:33:16
阅读次数:
270
设计模式是一套被反复使用的,多数人知晓的,经过分类编目的,代码设计经验的总结。使用设计模式可以提高代码的复用度,让代码更容易被人理解,保证代码的可靠性。根据设计模式的目标,可以将他们分成
创建模式 、 结构性模式 、行为性模式 。1.创建模式 创建性模式处理的是对象创建过程。 简单工厂模式 工厂方法...
分类:
其他好文 时间:
2014-05-26 10:01:26
阅读次数:
176
简单工厂模式(Simple Factory Pattern)属于创建型模式,又叫做静态工厂方法模式(Static FactoryMethod Pattern),但是不属于23GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。
走别人的的路,不如自己 to do (不如的意思是更)。先敲书上的例子,第一遍也许不懂,第二遍就清晰很多,第三遍就觉得自己能写点东西出来。不要总是觉得自己看不懂,学不好,只有先学了才能更好。没有之前的8个馒头,就没有第9个馒头的饱(好撑啊~~)...
分类:
其他好文 时间:
2014-05-26 05:51:44
阅读次数:
224
本章分三部分:简单工厂,工厂方法模式,抽象工厂模式。
一、简单工厂:简单工厂其实不是一个设计模式,只是一种编程习惯。示例如下:
PizzaStore.java
package headfirst.factory.pizzas;
public class PizzaStore {
SimplePizzaFactory factory;
public PizzaStore(...
分类:
其他好文 时间:
2014-05-26 04:51:42
阅读次数:
233
设计模式创建型模式 1. 简单工厂模式 2. 工厂方法模式 3. 抽象工厂模式 4.
创建者模式 5. 单例模式 6.
原型模式简单工厂模式又称静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例。而这些被创建的类有一个共同的父类,从而面向抽象编程。类图:
1优点:客户端不再负责对象的创建,...
分类:
其他好文 时间:
2014-05-26 00:02:55
阅读次数:
317
工厂方法模式:定义一个创建对象的接口,把具体实例化哪个具体产品类推迟到子类完成。 返回目录
分类:
其他好文 时间:
2014-05-24 10:10:30
阅读次数:
192
工厂模式(Factory)允许你在代码执行时实例化对象。它之所以被称为工厂模式是因为它负责“生产”对象。工厂方法的参数是
你要生成的对象对应的类名称。①抽象基类:类中定义抽象一些方法,用以在子类中实现②继承自抽象基类的子类:实现基类中的抽象方法③工厂类:用以实例化对象eg:简单工厂模式的初步实现
g...
分类:
Web程序 时间:
2014-05-24 09:26:06
阅读次数:
344
本文主要介绍如何使用静态工厂方法已经在那种场合来使用这种方式代替构造方法。
众所周知,对于类而言,我们为了获得一个类的实例对象,通常情况下会提供一个公有的(public) 的构造器。当然除了这种方法以外,我们还可以通过给类提供一个public的静态工厂方法(static factory method)的方式来完成,让它返回一个类的实例。...
分类:
编程语言 时间:
2014-05-23 01:03:20
阅读次数:
317