• 工厂模式和抽象工厂的区别总是绕晕初学者!!?欢迎来讨论


    首先来看一下两个模式的UML图:

    工厂模式:

    抽象工厂模式:

    这张图看过的小伙伴应该清楚知道来自哪...   

    来自狂神,借用一下您的图,我也是看了你的视频然后产生误解再到理解

    通过类图其实可以发现,从类图上体现出来的层次是一样的!

    写过代码的小伙伴也会发现其实结构也非常的相似!那么区别在哪呢?

    个人理解:

    区别体现在维度!抽象工厂模式解决了二维度的问题,也就是多个种族,可以看出抽象工厂实际上是要比工厂更抽象一层(这里指思维,维度上的抽象)。

    抽象工厂模式最顶层的工厂是一个抽象产品工厂,这个产品工厂可以产生不同的种族,比如:手机、路由器等。下一层就是对应的品牌工厂,该工厂可以生产自己品牌下的多种产品!

    而工厂模式最顶层是一个对应种族的抽象工厂,比如:手机工厂、路由工厂,然后下一层就是对应品牌的工厂生产不同产品!

    以工厂模式的UML图为参照。手机工厂有它的生产线:

    如果我还需要一个路由器工厂,那么可以构建一个路由器工厂,如果需要更多其他产品,则依次创建!会发现手机工厂中有生产苹果手机,路由器工厂中有发现生产苹果路由器。如果需求要将这些不同品牌下的不同产品进行归类!针对这种情况,你是选择创建一个抽象工厂模式还是多个工厂模式呢?毫无疑问,选择抽象工厂模式!一个华为产品工厂就可以生产华为的手机、路由器等...

    现在可以清晰感受到,工厂模式针对的是一个维度的问题,而抽象工厂模式则是针对两个维度的问题!

  • 相关阅读:
    创建Scrapy项目
    30天Python入门(第二十五天:深入了解Python中的pandas)
    【Android知识笔记】UI体系(三)
    软件测试【秋招面试】字节跳动等各类大厂—面经
    计算机毕业设计(85)php小程序毕设作品之共享会议室预约小程序系统
    Apache Doris (五十一): Doris数据缓存
    IIS 部署.NetCore,最细步骤
    pytorch配置环境
    java常用集合及常用类
    vue - Vuex
  • 原文地址:https://blog.csdn.net/weixin_49789131/article/details/126330979