factory 模式
目的:
提供一个类,由它负责依据一定条件创建某一具体类的实例
定义:
专门定义一个类,由它负责创建其他类的实例,被创建的实例通常具有共同父类或接口,这个工厂类通常
依据一个条件返回不同类的实例
例子:
抽象产品角色(Product)
public interface Product{
public void fun();
}
具体产品角色(Concrete Product)
public class Product1 implements Product{
public void fun(){
system.out.println("product1");
}
}
public class Product2 implements Product{
public void fun(){
system.out.println("product2");
}
}
工厂角色(Creater)
public class Factory{
public static Product getProduct(String type){
if(type.equals("product1")){
return new Product1();
}else if(type.equals("product2")){
return new Product2();
}
}
}
客户端调用
Product p = Factory.getProduct("product1");