抽象工厂模式

来源:互联网 发布:软件开发和软件实施 编辑:程序博客网 时间:2024/06/07 14:10


涉及到的角色
抽象工厂角色:担任这个角色的是工厂方法模式的核心,它是与应用系统的商业逻辑无关,通常使用接口或抽象类实现
具体工厂角色:这个角色直接在客户端的调用下创建产品的实例,这个角色含有选择合适的产品对象逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关
抽象产品角色:担任这个角色的类是抽象工厂方法模式所创建的对象的父类,或它们共同拥有的接口,通常使用接口或抽象类实现这一角色


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


抽象工厂模式的优缺点
优点:
1> 产品从客户代码中被分离出来
2> 容易改变产品系列
3> 将一个系列的产品统一到一起创建
缺点:
在产品族中扩展新的产品是很困难的,它需要修改抽象工厂的接口


抽象工厂模式解决的问题

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


0 0
原创粉丝点击