Java的工厂模式(Factory)之二
2008-03-01 17:03
211 查看
前文的工厂模式的产品创建过程只有一个工厂,如果实际过程中需要多个工厂, 则需要将工厂进行抽象,这就产生了工厂方法模式:
实例:
1 Product抽象,使用接口实现
package com.javapatterns.factorymethod;
public interface Product
...{
}
2 具体产品
具体产品之一
package com.javapatterns.factorymethod;
public class ConcreteProduct1 implements Product
...{
public ConcreteProduct1()
...{
System.out.println("CocnreteProduct1 is being created.");
}
}
具体产品之二
package com.javapatterns.factorymethod;
public class ConcreteProduct2 implements Product
...{
public ConcreteProduct2()
...{
System.out.println("CocnreteProduct2 is being created.");
}
}
3 生产类
package com.javapatterns.factorymethod;
public interface Product
...{
}
4 具体生产类
之一
package com.javapatterns.factorymethod;
public class ConcreteCreator1 implements Creator
...{
public Product factory()
...{
return new ConcreteProduct1();
}
}
之二
package com.javapatterns.factorymethod;
public class ConcreteCreator2 implements Creator
...{
public Product factory()
...{
return new ConcreteProduct2();
}
}
5 工厂方法的使用
package com.javapatterns.factorymethod;
public class Client
...{
private static Creator creator1, creator2;
private static Product prod1, prod2;
public static void main(String[] args)
...{
creator1 = new ConcreteCreator1();
prod1 = creator1.factory();
creator2 = new ConcreteCreator2();
prod2 = creator2.factory();
}
}
运行结果:
init:
deps-jar:
Compiling 1 source file to D:/test/desPatten/build/classes
compile-single:
run-single:
CocnreteProduct1 is being created.
CocnreteProduct2 is being created.
生成成功(总时间:2 秒)
该方法相对前面的简单方法,在面对新增产品时,只要新增一个产品类和具体的工厂类即可,较好的支持了开闭原则。
相关文章推荐
- JAVA设计模式之二抽象工厂
- JAVA设计模式之二抽象工厂
- JAVA设计模式之二抽象工厂
- java23种设计模式之工厂模式(Factory)的实现
- 3.23种设计模式的Java版--Factory Method(工厂方法)
- java设计模式之工厂模式--普通工厂方法模式(Factory Method)
- Java设计模式——工厂方法(Factory Method)
- 创建模式之二:工厂方法(Factory Method) 续2
- Java:设计模式之工厂方法(Factory Method)
- Java 可复用的面向对象的设计模式之 工厂模式Factory详解 :简单工厂模式 工厂方法模式 抽象工厂模式
- 设计模式(Design Pattern) - 创建型模式(Creational Pattern) - 工厂模式(FactoryMethod) - Java实现
- 【java设计模式】之 工厂(Factory)模式
- JAVA设计模式(01):创建型-工厂模式【工厂方法模式】(Factory Method)
- Java设计模式 - Factory(工厂模式)
- JAVA设计模式之二抽象工厂
- JAVA设计模式之二抽象工厂
- JAVA设计模式之二抽象工厂
- 工厂模式之二 - 工厂方法(Factory Method)
- java设计模式之工厂模式Factory
- 设计模式(一)----- 工厂方法(FactoryMethod)----(JAVA版)