工厂模式是我们很常用的一个模式,在ssh框架和ssm框架中都普遍使用到的工厂模式
工厂模式的定义一个用于创建对象的接口,让子类决定实例化哪个类
在这里我主要讲通过反射机制来决定生成类的工厂实现方法
02
1.产品抽象类product
public abstract class Product {
public abstract void method();
}
2.产品A
public class ProductA extends Product {
@Override
public void method() {
System.out.println("product A");
}
}
3.产品B
public class ProductB extends Product{
@Override
public void method() {
System.out.println("productB");
}
}
4.工厂抽象类
public abstract class Factory {
// 抽象类具体生成由子类实现
public abstract <T extends Product> T createProcuct(Class<T> clz);
}
5.具体工厂类
public class ConcreteFactory extends Factory {
@Override
public <T extends Product> T createProcuct(Class<T> clz) {
Product p = null;
try {
p = (Product) Class.forName(clz.getName()).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return (T) p;
}
}
更多干货资料,加微信