02工厂模式(创建型模式)

匿名 (未验证) 提交于 2019-12-03 00:19:01




有代码,虽然某种程度不符合设计原则,但实际使用最多)


增加产品族,不可以增加产品,可以增加产品族)













示例代码
public interface Car {    void run(); }

示例代码
public interface Car {    void run(); }
public interface CarFactory {    Car createCar(); }
public class KaCheFactory implements CarFactory {    @Override    public Car createCar() {       return new KaChe();    } }
public class QiCheFactory implements CarFactory {    @Override    public Car createCar() {       return new QiChe();    } }
public class Client {    public static void main(String[] args) {       Car c1 = new KaCheFactory().createCar();       Car c2 = new QiCheFactory().createCar();       c1.run();       c2.run();    } }

简单工厂模式和工厂方法模式PK:







示例代码
public interface CarFactory {    Engine createEngine();    Seat createSeat();    Tyre createTyre(); }
public class LowCarFactory implements CarFactory {    @Override    public Engine createEngine() {       return new LowEngine();    }     @Override    public Seat createSeat() {       return new LowSeat();    }     @Override    public Tyre createTyre() {       return new LowTyre();    } }

public class LuxuryCarFactory implements CarFactory {    @Override    public Engine createEngine() {       return new LuxuryEngine();    }     @Override    public Seat createSeat() {       return new LuxurySeat();    }     @Override    public Tyre createTyre() {       return new LuxuryTyre();    } }
public class Client {    public static void main(String[] args) {       CarFactory  factory = new LuxuryCarFactory();       Engine e = factory.createEngine();       e.run();       e.start();    } }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!