设计模式(对象创建)——抽象工厂模式

来源:互联网 发布:seo教程视频 编辑:程序博客网 时间:2024/05/18 22:41

抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

场景还原(操作系统的组件):

在系统里a,b,c三个组件必须同时使用,但是a的同类 a1和a2这三种方法有共同特点但是是互斥的,b,b1,b2和c,c1,c2和a/a1/a2是一样的。

就比如说创建在不同操作系统的视窗环境下都能够运行的系统时,Unix下面有unixButton和 unixText,Win下面也有winButton和winText,unixButton和unixText必须在一个系统unix里面用,而winButton和winText只能在Win下面用。

但是winButton和unixButton这两种东西都是有相同的特点的,比如说按下去之后会触发事件,比如说他上面有文字描述等等,但是winButton和unixButton却又是不可以混用的。图片来源


这里写图片描述

UML类图阐述:

抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道(或关心)实际产出的具体产品是什么。这样一来,客户就从具体的产品中被解耦。

模式结构:

  • AbstractFactory:抽象工厂
  • ConcreteFactory:具体工厂
  • AbstractProduct:抽象产品
  • Product:具体产品


这里写图片描述

更多C++示例代码,请移步到本人的github。


设计模式,祝愿你把代码写成艺术。

6/16/2017 2:11:18 PM

阅读全文
0 0
原创粉丝点击