码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之抽象工厂模式

时间:2020-04-06 23:37:08      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:自己   调用   图片   区别   rac   mamicode   技术   方法   模式   

  按照之前都尿性,我们来看下抽象工厂模式都定义:

  技术图片

 

   为了满足相关或者相互依赖的关系,我们都采用抽象类,其中有公共方法去实现,有abstract修饰都需要不同方法实现的对象关系。

   我们建立两个相关产品 A和B。

  技术图片

 

 

技术图片

 

 

对于两个产品,进行分别实现。

技术图片

 

 

技术图片

 

 

技术图片

 

 

技术图片

 

 

对象实现也有了,看到概念,为创建相互依赖对象提供接口,无需指定具体实现。

我们假定,productA1与productB1是相互关联,productA2与productB2是相互关联的。

那么,我们需要创造出生产一组对象的接口。

为了防止每次都会有A与B的一起实现,我们需要一个抽象工厂!

技术图片

 

 

由子类去实现具体类,是不是跟工厂模式有点类似啊?!

技术图片

 

 

 

技术图片

 

 

 

那么看具体client调用情况:

 

技术图片

 

 

 

抽象工厂模式不关心产品的具体实现。可以看到,没有任何一个方法与实现类有关系。只要知道是哪个工厂,就能生成相关联对象。

与工厂模式不同,抽象工厂模式是产生一组关联(或者没关联的对象),但都有相同约束,那么就可以用抽象工厂模式!

工厂模式中是针对目标对象,进行实现。概念还是有很大区别的。

说白了,抽象工厂模式,抽象类可以自己组装对象。

而工厂模式针对单个对象有一个具体的规范。

 

设计模式之抽象工厂模式

标签:自己   调用   图片   区别   rac   mamicode   技术   方法   模式   

原文地址:https://www.cnblogs.com/lzphu/p/12650350.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!