工厂方法模式
来源:互联网 发布:慢跑鞋哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/06 03:27
工厂方法的通用源码
抽象产品类
public abstract class Product{ public void method(){ } public abstract void method2();}
具体产品类
public class ConcreteProduct1 extends Product{ public void method2(){ }}public class ConcreteProduct2 extends Product{ public void method2(){ }}
抽象工厂类
public abstract class Creator{ public abstract <T extends Product> T createProduct(Class<T> c);}
具体工厂类
public class ConcreteCreator extends Creator{ public <T extends Product> T createProduct(Class<T> c){ Product product=null; try{ product=(Product)Class.forName(c.getName()).newInstance(); }catch(Exception e){ .... } return (T)product; }}
简单工厂模式
简单工厂模式去掉了抽象工厂类, 并且createProduct()
方法添加了static
. 该模式调用过程更为简单, 方便理解. 但是扩展较为困难, 不符合开闭原则.
多工厂模式
利用工厂模式生成单例
class Singleton{ private Singleton(){} public void doSomething(){}}public class FactorySingle { private static Singleton sSingleton; static { try{ Class cl=Class.forName(Singleton.class.getName()); Constructor constructor=cl.getDeclaredConstructor(); constructor.setAccessible(true); sSingleton=(Singleton)constructor.newInstance(); }catch (Exception e){ e.printStackTrace(); } } public static Singleton getSingleton(){ return sSingleton; }}
抽象工厂模式
为创建一组相关或者是相互依赖的对象提供一个接口, 而不需要制定它们的具体类.
0 0
- 工厂模式 -- 工厂方法
- 工厂模式-工厂方法
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式---工厂方法模式
- 【模式】工厂方法模式
- 工厂方法,抽象工厂模式
- C#工厂模式-工厂方法
- 工厂模式 和工厂方法
- 工厂模式-C-工厂方法
- 工厂模式以及工厂方法
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂方法、抽象工厂模式
- 工厂模式(简单工厂、工厂方法)
- 简单工厂|工厂方法|抽象工厂模式
- 设计模式-工厂模式(简单工厂模式+工厂方法模式)
- python函数式编程备忘
- 数据类型 字节
- 欢迎使用CSDN-markdown编辑器
- 参考博客博主
- solr的基本配置(一)
- 工厂方法模式
- 开博留念
- Builder
- zurmo视图配置
- 中国剩余定理 Chinese remainder theorem(CRT)
- 使用UIBezierPath和CAShapeLayer画各种图形
- 观察者模式
- easyUI日常问题之自定义输入框验证
- C4.5决策树算法