您的位置:首页 > 编程语言 > Java开发

java设计模式——工厂模式

2016-03-07 16:12 429 查看
        工厂 顾名思义 制造东西的地方,而我们的工厂模式也是用来创建对象的。定义一个创建对象的接口,让子其类来决定创建那个对象。工厂模式的现实中的使用,一般是当我们有很多相似的需求的时候,通过抽象公共部分来实现高效的编码。
/*** 作者:chs on 2016/3/7 14:12* 邮箱:657083984@qq.com* 抽象的工厂*/public interface Factory {/*** 根据材料来创建产品* @param material*/public abstract Product createProtect(String material);}
package com.chs.myfactory;/*** 作者:chs on 2016/3/7 14:34* 邮箱:657083984@qq.com* 产品*/public abstract class Product {protected  String name;}
package com.chs.myfactory;/*** 作者:chs on 2016/3/7 15:26* 邮箱:657083984@qq.com*/public class Product1 extends Product {private String name;public Product1() {this.name = "我是第一种产品";}}
package com.chs.myfactory;/*** 作者:chs on 2016/3/7 15:26* 邮箱:657083984@qq.com*/public class Product2 extends Product {private String name;public Product2() {this.name = "我是第二种产品";}}
根据传入值来确定创建哪个子类的对象。
package com.chs.myfactory;/*** 作者:chs on 2016/3/7 15:19* 邮箱:657083984@qq.com*/public class MyFactory implements Factory {private static MyFactory instance;private MyFactory(){}public static MyFactory getInstance(){if(instance==null){synchronized (MyFactory.class){if(instance==null){return new MyFactory();}}}return instance;}@Overridepublic Product createProtect(String material) {Product product = null;if(material.equals("1")){product = new Product1();}else {product = new Product2();}return product;}}
MyFactory.getInstance().createProtect("1");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: