常用设计模式整理及分析(其四 工厂设计模式)
定义:
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种
创建对象的最佳方式。它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的
产品对象。
创建产品接口以及两个实现类都继承该接口
public interface Product {
void show();
}
public class Phone implements Product {
@Override
public void show() {
System.out.println("手机实现类");
}
}
public class Car implements Product {
@Override
public void show() {
System.out.println("汽车实现类");
}
}
创建工厂ProductFactory,根据参数创建指定产品对象:
public class Factory {
public Product info(String name){
if(name.equals("phone")){
return new Phone();
}else if(name.equals("car")){
return new Car();
}else{
return null;
}
}
}
public class ProductFactoryTest {
public static void main(String[] args) {
Factory factory = new Factory();
Product phone = factory.info("phone");
Product car = factory.info("car");
phone.show();
car.show();
}
}
PS:spring中内部源码也是用了工厂模式,BeanFactory就是其中一个,bean的id唯一的原因就是通过这个id去识别的,通过id去获取bean对象。