每天一整理-java设计模式之工厂模式模式
2017-05-01 09:26
375 查看
工厂模式是我们很常用的一个模式,在ssh框架和ssm框架中都普遍使用到的工厂模式
工厂模式的定义一个用于创建对象的接口,让子类决定实例化哪个类
在这里我主要讲通过反射机制来决定生成类的工厂实现方法
产品抽象类productpackage singleinstance;
public abstract class Product {
public abstract void method();
}
//产品A
package singleinstance;
public class ProductA extends Product {
@Override
public void method() {
// TODO Auto-generated method stub
System.out.println("product A");
}
}
//具体工厂类
package singleinstance; public class ConcreteFactory extends Factory{ @Override public <T extends Product> T createProcuct(Class<T> clz) { // TODO Auto-generated method stub Product p =null; try { p=(Product) Class.forName(clz.getName()).newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return (T) p; } }
工厂模式的定义一个用于创建对象的接口,让子类决定实例化哪个类
在这里我主要讲通过反射机制来决定生成类的工厂实现方法
产品抽象类productpackage singleinstance;
public abstract class Product {
public abstract void method();
}
//产品A
package singleinstance;
public class ProductA extends Product {
@Override
public void method() {
// TODO Auto-generated method stub
System.out.println("product A");
}
}
//产品B
package singleinstance; public class ProductB extends Product{ @Override public void method() { // TODO Auto-generated method stub System.out.println("productB"); } }//工厂抽象类
package singleinstance; public abstract class Factory { //抽象类具体生成由子类实现 public abstract<T extends Product> T createProcuct(Class<T> clz); }
package singleinstance; public abstract class Factory { //抽象类具体生成由子类实现 public abstract<T extends Product> T createProcuct(Class<T> clz); }
//产品实现类
package singleinstance; public class ConcreteFactory extends Factory{ @Override public <T extends Product> T createProcuct(Class<T> clz) { // TODO Auto-generated method stub Product p =null; try { p=(Product) Class.forName(clz.getName()).newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return (T) p; } }
//具体工厂类
package singleinstance; public class ConcreteFactory extends Factory{ @Override public <T extends Product> T createProcuct(Class<T> clz) { // TODO Auto-generated method stub Product p =null; try { p=(Product) Class.forName(clz.getName()).newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return (T) p; } }
相关文章推荐
- Java技术_每天掌握一种设计模式(003)_使用场景及简单实例(创建型:工厂方法)
- Java设计模式(学习整理)---工厂模式
- java 设计模式整理之工厂方法(1)
- Java技术_每天掌握一种设计模式(004)_使用场景及简单实例(创建型:抽象工厂)
- java设计模式之一 —— 工厂模式整理
- 每天一整理-java设计模式之builder模式
- java设计模式-每天三个设计模式之工厂、单例、建造者
- java 简单工厂设计模式
- JAVA设计模式之-工厂模式
- JAVA设计模式学习之----创建模式:工厂模式(工厂方法)
- Java设计模式之工厂模式篇
- JAVA中操作数据库方式与设计模式的应用(文章地址整理)
- java设计模式之工厂模式(Factory)
- java中的设计模式 工厂 和抽象工厂模式 的例子
- [零基础学JAVA]Java SE应用部分-36.反射机制与工厂设计模式 推荐
- Java设计模式之工厂方法模式
- java设计模式之一 工厂模式
- 设计模式之一:Java中的简单工厂模式
- JAVA工厂设计模式(摘自网络)
- [设计模式整理笔记 三] 工厂模式(Factory)