工厂方法模式的应用相当广泛。工厂方法模式在 Java API 中的应用比比皆是:java.util.Collection 接口的 iterator 方法就是一个很著名的抽象工厂方法的示例;java.net.URLStreamHandlerFactory 的 createURLStreamHandler(String protocol) 也是工厂方法模式的一个很经典的应用,URLStreamHandlerFactory 定义了一个用来创建 URLStreamHandler 实例的 createURLStre...
分类:
其他好文 时间:
2014-07-30 20:52:34
阅读次数:
296
工厂模式:首先需要说一下工厂模式。工厂模式根据抽象程度的不同分为三种:简单工厂模式(也叫静态工厂模式)、本文所讲述的工厂方法模式、以及抽象工厂模式。工厂模式是编程中经常用到的一种模式。它的主要优点有:可以使代码结构清晰,有效地封装变化。在编程中,产品类的实..
分类:
其他好文 时间:
2014-07-30 03:29:14
阅读次数:
187
抽象工厂模式是工厂方法模式的进一步强化。当工厂函数只需要产生一种类型的产品(所有产品都继承自同一抽象基类)时,使用工厂方法模式即可。但是,当用户程序需要创建多种类型的产品,而这些产品又有一定的内在联系,那么就要用到抽象工厂模式了。抽象工厂模式的UML图如下所示:
AbstractProductA和AbstractProductB是两种不同类型的抽象产品,每种类中的抽象下面又有两种...
分类:
其他好文 时间:
2014-07-29 13:00:36
阅读次数:
243
创建模式1.工厂方法模式(Factory Method) 将程序中创建对象的操作,单独出来处理,创建一个产品的工厂接口,把实际的工作转移到详细的子类。大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。 public class TestFactoryMethod ....
分类:
编程语言 时间:
2014-07-26 14:25:20
阅读次数:
404
1.定义 简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。 2.适用场景如果一个客户要一款宝马车,一般的做法是客户去创建一款宝马车,然后拿来用。后来出现工业革命。用户不用去创建宝马车。因为客户有一个工厂来帮他创建宝马.想要什么....
分类:
其他好文 时间:
2014-07-24 22:43:03
阅读次数:
246
在一一分析每种设计模式之前,我首先把所有的设计模式做了一个总结,大致分成三部分:创建型模式、结构型模式和行为型模式。
一、创建型模式
1、抽象工厂模式
提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。
2、建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
3、工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂...
分类:
其他好文 时间:
2014-07-24 10:39:44
阅读次数:
210
简单工厂模式VS工厂方法模式:
简单工厂模式:最大优点在于工厂类中必须包含必要的逻辑判断,根据客户端选择条件动态实例化相关类,对于客户端来说,去除了与具体产品的依赖。
工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使一个类的实例化延迟到其子类。
工厂方法模式实现时,客户端需要决定实例化哪一个工厂来实现相...
分类:
编程语言 时间:
2014-07-22 23:51:37
阅读次数:
363
简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。例如在简单工厂模式中出现的工厂函数:
Operation* FactoryFunction(double left, double right, char op)
{
switch (op)
{
case '+':
ret...
分类:
其他好文 时间:
2014-07-22 22:38:56
阅读次数:
283
二、工厂方法模式
1.动物管理系统的例子
首先,抽象的动物类和具体的动物实现类:
public interface Animal{
public void eat();
}
public class Tiger implements Animal
{
public void eat(){
sysout.out.println("老虎会吃");
};
...
分类:
其他好文 时间:
2014-07-22 00:07:33
阅读次数:
231
1 创建型模式
单独对对象的创建进行研究,高效的创建对象就是创建型模式讨论的问题。创建型设计模式有6种:
简单工厂模式(simple factory);
工厂方法模式(factory method);
抽象工厂模式(abstract factory);
创建者模式(Builder);
原型模式(Prototype);
...
分类:
其他好文 时间:
2014-07-22 00:06:33
阅读次数:
232