设计模式--创建型--简单工厂
2012-11-19 10:36
501 查看
一、简单工厂模式简介(Bref Introduction)
简单工厂模式(SimpleFactory Pattern)的优点是,工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖
二、解决的问题(What To Solve)
客户实例化对象时不需要关心该对象是由哪个子类实例化的。三、简单工厂模式分析(Analysis)
1、简单工厂模式结构
Product:定义客户所需要的功能接口
ConcreteProductA、[b]ConcreteProductB:具体实现[b]Product的实现类,可能会有多个[/b][/b]
[b]Factory:工厂,选择适合的实现类来创建[b]Product接口对象[/b][/b]
[b]Client:客户端,通过Factory来获取[b]Product接口对象,然后面向Product接口编程[/b][/b]
四.实例分析(Example)
1、接口Product,及其具体实现类ConcreteProductA、ConcreteProductBpublic interface Product { public void operation(String s); }
public class ConcreteProductA implements Product { public void operation(String s){ System.out.println("===================ConcreteProductA Begin====================="); System.out.println("==============="+s+"================="); System.out.println("====================ConcreteProductA End======================"); } }
public class ConcreteProductB implements Product { public void operation(String s){ System.out.println("===================ConcreteProductB Begin====================="); System.out.println("==============="+s+"================="); System.out.println("====================ConcreteProductB End======================"); } }
2、简单工厂类Factory
public class Factory { /** * 根据condition创建具体的product * @param condition * @return */ public static Product createProduct(int condition){ Product product = null; if(condition == 1){ product = new ConcreteProductA(); }else if(condition==2){ product = new ConcreteProductB(); } return product; } }
[b]3、客户端代码[/b]
public class Client { public static void main(String[] args) { Product product = null; product = Factory.createProduct(1); product.operation("正在调用工厂方法"); product = Factory.createProduct(2); product.operation("正在调用工厂方法"); } }
运行结果:
相关文章推荐
- 设计模式--创建型模式之简单工厂模式
- 《Android之大话设计模式》--设计模式 创建型模式 第一章:简单工厂模式
- 《Android之大话设计模式》--设计模式 创建型模式 第一章:简单工厂模式
- 设计模式1:简单工厂模式【创建型】
- 设计模式系列一创建型模式之(简单工厂VS工厂方法)
- 创建型设计模式(简单工厂,工厂,抽象工厂与单例模式
- 【JavaScript设计模式】创建型设计模式--简单工厂、工厂方法、抽象工厂
- 创建型设计模式-简单工厂模式
- 设计模式(2)-创建型-简单工厂,工厂,抽象工厂模式(Factory)
- 设计模式(2)-创建型-简单工厂,工厂,抽象工厂模式(Factory)
- 创建型设计模式:简单工厂模式--分析优缺点
- 设计模式学习之简单工厂(Simple Factory,创建型模式)(1)
- Java与设计模式(九)创建型--简单工厂模式
- Golang设计模式-创建型-简单工厂
- 【23种设计模式】创建型模式 > 三个工厂模式(简单工厂、抽象工厂、工厂方法)
- 设计模式-创建型-简单工厂模式
- 设计模式-创建型01-简单工厂
- 设计模式(2)-创建型-简单工厂,工厂,抽象工厂模式(Factory)
- 设计模式(2)-创建型-简单工厂,工厂,抽象工厂模式(Factory)
- 1、设计模式__创建型__简单工厂