工厂模式
来源:互联网 发布:华师大网络教育好过吗 编辑:程序博客网 时间:2024/06/05 22:46
标准代码
1.先建立一个抽象工厂类
public abstract class AbstarctFactory { public abstract <T extends AbstractProduct> T createProduct(Class<T> c);}
2.建立一个抽象产品类
public abstract class AbstractProduct { //产品类的公共方法 public void method1(){ //业务逻辑处理 } public abstract void method2();}
3.建立一个具体工厂类
public class FactoryRealize extends AbstarctFactory{ @Override public <T extends AbstractProduct> T createProduct(Class<T> c) { AbstractProduct product = null; try { product = (AbstractProduct) Class.forName(c.getName()).newInstance();} catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } return (T) product; }}
4.建立具体产品类
public class Product extends AbstractProduct { @Override public void method2() { }}
5.模拟场景测试
public class Client { public static void main(String[] args){ AbstarctFactory factoryRealize = new FactoryRealize(); AbstractProduct products = factoryRealize.createProduct(Product.class); products.method2(); }}
注意:具体实际抽象模式的创建要具体实际需求去扩展
阅读全文
0 0
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-静态工厂
- 工厂模式-抽象工厂
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- Gabor 过滤器有用的网站
- 前端优化
- Android 点击 Home 键导致 APP 重启
- 三、tar包安装mysql
- 打印PDF报错:STSong-Light' with 'UniGB-UCS2-H' is not recognized
- 工厂模式
- jQuery选择器
- HDU P1520 Anniversary party
- 共用体2
- JAVA线程池的使用
- Mybatis中使用Handler对字段进行统一处理
- Java绝对/相对路径获取与getResourceAsStream()方法
- java文本I/O(一)
- 基于springCloud的分布式架构体系