抽象工厂模式
抽象工厂模式(英语:Abstract Factory)是一种常见的设计模式。
此模式为一个产品家族提供了统一的创建接口。当需要这个产品家族的某一系列的时候,
可以从抽象工厂中选出相对系的系列来创建一个具体的工厂类别。
假设我们有两种产品接口 Button 和 Border ,每一种产品都支持多种系列,
比如 Mac 系列和 Windows 系列。这样每个系列的产品分别是 MacButton, WinButton, MacBorder, WinBorder 。
为了可以在运行时刻创建一个系列的产品族,我们可以为每个系列的产品族建立一个工厂 MacFactory 和 WinFactory 。
每个工厂都有两个方法 CreateButton 和 CreateBorder 并返回对应的产品,
可以将这两个方法抽象成一个接口 AbstractFactory 。这样在运行时刻我们可以选择创建需要的产品系列。
其使用场景:
- A system should be configured with one of multiple families of products
- A system should be independent of how its products are created, composed and represented
- Products from the same family should be used all together,
products from different families ahould not be used togheter and this
constraint must be ensured.
- Only the product interfaces are revealed, the implementations remains hidden to the clients.
参考下图解释: the same family should be used all together 指 A 、B产品要一起使用, A1 和 B1 是属于同一个family, family 其实就是 concreteFactory
下图 摘自 :http://www.oodesign.com/ (网站还不错的)
- 大小: 23.5 KB
分享到:
相关推荐
设计模式-抽象工厂模式(讲解及其实现代码)
抽象工厂,一个很容易理解的案例,大家可以看一看
1.超级经典抽象工厂,觉得能让你理解 2.工厂设计模式 3.和简单工厂融为一体
抽象工厂类的使用,简单的demo,方便初学者理解,设计模式。
抽象工厂模式代码示例,使用JAVA代码演示。配有说明文档,有助于对抽象工厂模式的理解。
JAVA设计模式之抽象工厂模式,一个不错的列子,逻辑比好清晰,让你更好的理解抽象工厂
本例主要给刚接触抽象工厂而又不是很理解的朋友巩固一下基础知识和了解抽象工厂的设计模式和它的作用。
抽象工厂模式demo,本demo很简单,纯粹是一个思路。不理解抽象工厂模式的可以助于你的理解,如果写的不好请见谅。 .NET;
用OO的思想去理解,所有的衣柜(具体工厂)都是衣柜类的(抽象工厂)某一个,而每一件成套的衣服又包括具体的上衣(某一具体产品),裤子(某一具体产品),这些具体的上衣其实也都是上衣(抽象产品),具体的裤子也...
能让你最快上手,最容易理解抽象工厂模式,并能在实际中运用
参考别人的文章加入自己的东西,然后模拟实现一个简单的抽象工厂模式,简洁介绍附带net简单用例代码如果你还不理解是老天爷的错
抽象工厂,简单工厂的个人理解和学习。。。。。。。。。
从简单工厂,到工厂方法到抽象工厂,这几种都带有“工厂”的模式,总是容易叫人迷糊,我仔细研究了下,然后用简单的例子做类比,列出了自己的通俗理解和比较,大部分是自己的体会,感觉理的比较清楚,末尾提了下...
设计模式之抽象工厂模式Demo , 使用最简单的实例来理解
该列着重从抽象工厂难以理解的角度来讲述抽象工厂。用以经典的例子来说明中间的原委
本demo很简单,纯粹是一个思路。不理解抽象工厂模式的可以助于你的理解,如果写的不好请见谅。 .NET;
本文介绍了抽象工厂模式的定义、使用场景、主要角色以及相应的类图,并提供了Java示例代码以帮助读者更好地理解该模式的实现方法。抽象工厂模式为创建一组相关或相互依赖的对象提供了一个接口,而不需要指定它们的...
java设计模式之抽象工厂模式,实例----手机工厂,一个简单的例子,有助于理解抽象工厂模式。
介绍工厂模式,工厂方法和抽象工厂。三个模式的适应情况,以及其区别。
一个有关C#抽象工厂的例子,帮助初学者加深对抽象工厂的理解