java设计模式——工厂模式
来源:互联网 发布:淘宝开店身份证查询 编辑:程序博客网 时间:2024/05/03 02:41
工厂 顾名思义 制造东西的地方,而我们的工厂模式也是用来创建对象的。定义一个创建对象的接口,让子其类来决定创建那个对象。工厂模式的现实中的使用,一般是当我们有很多相似的需求的时候,通过抽象公共部分来实现高效的编码。
/** * 作者: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; } @Override public Product createProtect(String material) { Product product = null; if(material.equals("1")){ product = new Product1(); }else { product = new Product2(); } return product; }}
MyFactory.getInstance().createProtect("1");
0 0
- Java设计模式—工厂设计模式
- Java设计模式—工厂方法模式&抽象工厂模式
- Java设计模式—工厂方法模式&抽象工厂模式
- JAVA设计模式——工厂模式
- java设计模式——工厂模式
- java设计模式——工厂模式
- Java设计模式——工厂模式
- Java设计模式——工厂模式
- java设计模式——工厂模式
- Java设计模式——工厂模式
- java设计模式——工厂模式
- java设计模式——工厂模式
- java设计模式——工厂模式
- java设计模式——工厂模式
- Java设计模式——工厂模式
- Java设计模式——工厂模式
- Java设计模式——工厂模式
- Java设计模式——工厂模式
- linux 命令 date
- Android简单判断是否联网
- 实时消息推送
- PostgreSQL的SQL命令整理
- C/C++服务器架构机制设计总结
- java设计模式——工厂模式
- java基本算法排序
- jquery的val()的简单使用(个人总结)
- mysql命令大全
- iOS--NSArray数组的初始化增加元素删除元素
- iOS-MultipeerConnectivity框架开发(二)
- 关于IbatisNet日志配置app.config或web.config
- 优化自定义Adapter
- 希腊字母发音