美文网首页
创建型设计模式--抽象工厂模式

创建型设计模式--抽象工厂模式

作者: lantern王 | 来源:发表于2019-06-18 10:46 被阅读0次

    定义:
    为创建一组相关或者是相互依赖的对象提供一个接口,而不需要指定他们的具体类。
    我理解的:
    一切基于抽象,假设生产汽车,我们拟定汽车三大组成部分:发动机、轮胎、制动系统。首先不管什么汽车,三大件在汽车中担任的职责是一样的,但是不同的汽车又在具体三大件上有不同。那么我们可以给予三大件的基础共性把其抽象出来,同时汽车生产也可以抽象出来。

    抽象工厂模式:


    image.png

    汽车生产抽象工厂:


    image.png

    抽象轮胎类:


    image.png

    抽象发动机类:


    image.png

    抽象制动系统类:


    image.png

    具体(普通)轮胎类:


    image.png

    具体(SUV)轮胎类:


    image.png

    发动机和制动系统实现类不在赘述;

    汽车工厂实现类:


    image.png
    image.png

    demo:


    image.png image.png

    总结:
    抽象工厂方法模式的优点:
    一个显著的优点是分离接口与实现,客户端使用抽象工厂来创建需要的对象,而客户端根本就不知道具体的实现是谁,客户端只是面向产品的接口编程而已,使其从具体的产品实现中解耦,同时基于接口与实现的分离,使抽象该工厂方法模式在切换产品类时更加灵活、容易。
    抽象工厂方法模式的缺点:
    上面我们也有所涉及,一是类文件的爆炸性增加,二是不太容易扩展新的产品类,因为每当我们增加一个产品类就需要修改抽象工厂,那么所有具体工厂类均会被修改。

    相关文章

      网友评论

          本文标题:创建型设计模式--抽象工厂模式

          本文链接:https://www.haomeiwen.com/subject/kdpxqctx.html