设计模式之简单工厂
程序员文章站
2024-01-21 17:26:10
...
简单工厂也是一种比较简单的设计模式,下面为简单的代码实现。
ProductFactory
工厂类,负责创建具体的产品
public class ProductFactory {
/**
* 创建产品对象
* 使用泛型对输入参数做了两层限制:
* 1.必须为class类型
* 2.必须为Product的实现类
* 输入参数通常为String、Enum、Class等
* @param c
* @return
*/
public static <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;
}
}
Product
负责定义产品的共性,实现对事物最抽象的定义
public abstract class Product {
public void method1(){
}
public abstract void method2();
}
ConcreteProduct1
具体产品类1,继承自抽象产品类
public class ConcreteProduct1 extends Product {
public void method2() {
}
}
ConcreteProduct2
具体产品类2,继承自抽象产品类
public class ConcreteProduct2 extends Product {
public void method2() {
}
}
Client
演示代码
public class Client {
public static void main(String[] args) {
Product product = ProductFactory.createProduct(ConcreteProduct1.class);
product.method1();
}
}
下一篇: 32位win7系统下配置IIS遇到php