首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式-创建模式-抽象工厂模式-java

2013-01-21 
设计模式--创建模式--抽象工厂模式--javaintent?Provide an interface for creating families of related

设计模式--创建模式--抽象工厂模式--java
intent?Provide an interface for creating families of related ordependent objects without specifying their concrete classes.?提供一个接口使得不使用具体的类来创建有关系的或者依赖关系的对象族。

 

UML

设计形式-创建模式-抽象工厂模式-java

Applicability?a system should be independent of how its products arecreated, composed, and represented.?一个系统要独立于产品的创建、组合、表示。?a system should be configured with one of multiplefamilies of products.?一个系统需要由多个产品族中的一个来配置。?a family of related product objects is designed to beused together, and this constraint youneed to enforce。?产品族被用来一起联合使用并强制一些约束。?you want to provide a class library of products, and youwant to reveal just their interfaces, not their implementations.?你需要提供一些产品类库,并且你仅仅使用他的接口。而不去实现他们。 Consequences?It isolates concrete classes.?分离了具体的类。?It makes exchanging product families easy.?使产品族更容易改变。?It promotes consistency among products.?有利于产品族的一致性?Supporting new kinds of products is difficult.?支持新种类产品比较困难。 产品等级结构设计形式-创建模式-抽象工厂模式-java多个产品等级结构设计形式-创建模式-抽象工厂模式-java产品族设计形式-创建模式-抽象工厂模式-java具体的UML 

设计形式-创建模式-抽象工厂模式-java

TankGameUML?在TankGame中元素分为矢量图版和图片版。所以对于产品角色来讲有两套产品族。两个工厂。

 

设计形式-创建模式-抽象工厂模式-java

工厂方法UML与抽象工厂比对

设计形式-创建模式-抽象工厂模式-java

工厂方法着重于Creator中的FactoryMethod()

抽象工厂着重于AbstractFactory

1、当增加产品等级结构

设计形式-创建模式-抽象工厂模式-java

此时便不满足开闭原则。

2、当增加产品族

增加产品族,则满足开闭原则。

 

热点排行