设计模式(三)抽象工厂,不属于23中设计模式

谁借莪1个温暖的怀抱¢ 2022-12-28 04:22 171阅读 0赞

抽象工厂

在这里插入图片描述
直接上图,为什么说是抽象工厂,在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。也就是说,不用知道他怎么构建这个实力的。
如上图:
一个产品族,例如美的,海尔,格力,这三个品牌 这就是三个产品族,例如说美的 美的下面产洗衣机(正方形),电冰箱(圆形),空调(椭圆形) 这是一个产品族,然后产品的等级结构,那就是说这个空调是3匹的还是1.5匹的,还是1匹的等等 虽然很抽象,但是很现实
接下来代码实现:
在这里插入图片描述
代码的UML图,课程工厂接口,由不同的工厂去实现 进行创建不同的课程,与笔记,这样的话代码,比较好理解,具体的代码就不粘贴了,因为从java工厂中获取的肯定是java的课程,和java的笔记,只要从某个工厂取,肯定属于java的视频,解耦达到了,也是开闭原则,某些原则,在某些场景是符合的
缺点: 如果需求来了说,我要新增一个源码功能 这些都有,但是开闭原则就失效了,还是改源码,今天加个东西,明天加个东西,如果长时间不修改可以使用抽象工厂模式,如果经常修改,就不能使用抽象工厂模式,工厂方法是关注等级结构,抽象工厂关注产品族

发表评论

表情:
评论列表 (有 0 条评论,171人围观)

还没有评论,来说两句吧...

相关阅读

    相关 设计模式-----抽象工厂模式

    设计模式三-----抽象工厂模式 ​ 抽象工厂模式与之前介绍的简单工厂模式和工厂方法模式目的一样,由于目标可能经常变化,因此需要通过工厂把这个创建的过程封装起来,让客户不