读书人

Java中简略的工厂模式

发布时间: 2012-09-04 14:19:30 作者: rapoo

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");}}

读书人网 >软件架构设计

热点推荐