Java中简单的工厂模式

1、作用:在软件系统中,经常面临“一系列相互依赖对象”的创建工作,为了绕过常规对象的创建方式(即用new创建),利用工厂模式,提供一种“封装机制”来减少功能调用程序和“多系列具体对象创建工作”的耦合性。
  通常程序员在编写代码时,需要一个产品(对象)时,都是自己去创建(也就是new一个对象),显然这对于程序员来说很不方便,
  我们能不能将创建产品(对象)的工作交给其他事物来做,于是我们就提出了一种创建模式:工厂模式,当然创建模式还有单例模式、原型模式、builder模式。
2、核心思想:实例化具有共同接口的多个类,不同产品(对象)的创建由工厂统一完成。
3、工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式。
简单工厂模式的创建步骤:1、定义产品接口类,有若干实现产品接口的具体产品类;2、定义工厂类Factory,用来生成产品类的实例

package com.yt.manager.javamodel.factory;

/**
 * @Description: 产品接口类
 * @ClassName: Product
 * @Project: base-info
 * @Author: zxf
 * @Date: 2011-5-25
 */
public interface Product {

	public void toDo();
}
package com.yt.manager.javamodel.factory.impl;

import com.yt.manager.javamodel.factory.Product;

/**
 * @Description: 产品一
 * @ClassName: ConcreteProduct
 * @Project: base-info
 * @Author: zxf
 * @Date: 2011-5-25
 */
public class ConcreteProductOne implements Product {

	public void toDo(){
		System.out.println("product One .........");
	}
}
package com.yt.manager.javamodel.factory.impl;

import com.yt.manager.javamodel.factory.Product;

/**
 * @Description:产品二
 * @ClassName: ConcreteProductTwo
 * @Project: base-info
 * @Author: zxf
 * @Date: 2011-5-25
 */
public class ConcreteProductTwo implements Product {

	public void toDo() {
		System.out.println("product two .........");
	}
}
package com.yt.manager.javamodel.factory;

import com.yt.manager.javamodel.factory.impl.ConcreteProductOne;
import com.yt.manager.javamodel.factory.impl.ConcreteProductTwo;

/**
 * @Description: 工厂类
 * @ClassName: ConcreteFactory
 * @Project: base-info
 * @Author: zxf
 * @Date: 2011-5-25
 */
public class Factory{

	public static Product createProduct(String type) {
		if (type.equals("one")) {
			return new ConcreteProductOne();
		} else if (type.equals("two")) {
			return new ConcreteProductTwo();
		}
		return null;
	}

}

 测试类:

package com.yt.manager.javamodel.factory;


/**
 * 工厂模式的作用:在软件系统中,经常面临“一系列相互依赖对象”的创建工作,为了绕过常规对象的创建方式(即用new创建),利用工厂模式,提供一种“封装机制”来减少功能调用程序和“多系列具体对象创建工作”的耦合性。
 * 通常程序员在编写代码时,需要一个产品(对象)时,都是自己去创建(也就是new一个对象),显然这对于程序员来说很不方便,
 * 我们能不能将创建产品(对象)的工作交给其他事物来做,于是我们就提出了一种创建模式:工厂模式,当然创建模式还有单例模式、原型模式、builder模式。
 * 工厂模式的核心思想是:实例化具有共同接口的多个类,不同产品(对象)的创建由工厂统一完成。
 * 工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式。
 * 简单工厂模式的创建步骤:1、定义产品接口类,有若干实现产品接口的具体产品类;2、定义工厂类Factory,用来生成产品类的实例
 * @ClassName: Client
 * @Project: base-info
 * @Author: zxf
 * @Date: 2011-5-25
 */
public class ClientIndex {


	public void doSomething(String type) {
		Product product = Factory.createProduct(type);
		product.toDo();
	}

	public static void main(String args[]) {
		ClientIndex client = new ClientIndex();
		client.doSomething("two");
	}
}

猜你喜欢

转载自zxf-noimp.iteye.com/blog/1059274
今日推荐