工厂方法模式

2018-06-26  本文已影响0人  MrL槑槑

要点

public interface Car {

    void run();

}
public class Audi implements Car {
    @Override
    public void run() {
        System.out.println("奥迪在跑");
    }
}
public class Bwd implements Car {
    @Override
    public void run() {
        System.out.println("比亚迪在跑");
    }
}
/**
 * 工厂类接口
 */
public interface CarFactory {

    Car createCar();

}
public class AudiFactory implements CarFactory {
    @Override
    public Car createCar() {
        return new Audi();
    }
}
public class BwdFactory implements CarFactory {
    @Override
    public Car createCar() {
        return new Bwd();
    }
}
public class Client1 {

    public static void main(String[] args) {
        Car bwd = new BwdFactory().createCar();
        Car audi = new AudiFactory().createCar();

        bwd.run();
        audi.run();
    }
}
工厂模式UML类图



符合OCP原则,但是增加了代码量,每增加一个车的类型,都需要增加对应的工厂类,实际开发不推荐



简单工厂模式&工厂方法模式
上一篇下一篇

猜你喜欢

热点阅读