您的位置:首页 > 其它

抽象工厂模式

2016-04-17 19:19 211 查看


涉及到的角色

抽象工厂角色:担任这个角色的是工厂方法模式的核心,它是与应用系统的商业逻辑无关,通常使用接口或抽象类实现

具体工厂角色:这个角色直接在客户端的调用下创建产品的实例,这个角色含有选择合适的产品对象逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关

抽象产品角色:担任这个角色的类是抽象工厂方法模式所创建的对象的父类,或它们共同拥有的接口,通常使用接口或抽象类实现这一角色

抽象工厂模式的使用地方

一个系统要独立于它的产品的创建、组合和表示时,一个系统有多个产品系列中的一个来配置,当你要强调一系列相关产品对象的设计以便进行联合使用时,当你提供一个产品类库,而只想显示它们的接口而不是实现

抽象工厂模式的优缺点

优点:

1> 产品从客户代码中被分离出来

2> 容易改变产品系列

3> 将一个系列的产品统一到一起创建

缺点:

在产品族中扩展新的产品是很困难的,它需要修改抽象工厂的接口

抽象工厂模式解决的问题
软件开发过程中经常会碰到一系列相关的对象需要创建,如果按照常规做法就要为不同的对象创建编写不同的代码,复用性和可维护性都降低,而且这些相关对象创建的方式也许不同,那么客户代码创建的时候就要针对不同的对象编码,对象创建的方式还是一个容易改变的地方,基于这种情况提出抽象工厂模式,抽象工厂模式为创建一系列相关对象提供统一的接口,客户只要调用这个接口即可,封装了变化,隔离了变化,让那个客户端代码稳定起来

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式