抽象工厂模式
来源:互联网 发布:软件开发和软件实施 编辑:程序博客网 时间:2024/06/07 14:10
抽象工厂角色:担任这个角色的是工厂方法模式的核心,它是与应用系统的商业逻辑无关,通常使用接口或抽象类实现
具体工厂角色:这个角色直接在客户端的调用下创建产品的实例,这个角色含有选择合适的产品对象逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关
抽象产品角色:担任这个角色的类是抽象工厂方法模式所创建的对象的父类,或它们共同拥有的接口,通常使用接口或抽象类实现这一角色
抽象工厂模式的使用地方
一个系统要独立于它的产品的创建、组合和表示时,一个系统有多个产品系列中的一个来配置,当你要强调一系列相关产品对象的设计以便进行联合使用时,当你提供一个产品类库,而只想显示它们的接口而不是实现
抽象工厂模式的优缺点
优点:
1> 产品从客户代码中被分离出来
2> 容易改变产品系列
3> 将一个系列的产品统一到一起创建
缺点:
在产品族中扩展新的产品是很困难的,它需要修改抽象工厂的接口
抽象工厂模式解决的问题
软件开发过程中经常会碰到一系列相关的对象需要创建,如果按照常规做法就要为不同的对象创建编写不同的代码,复用性和可维护性都降低,而且这些相关对象创建的方式也许不同,那么客户代码创建的时候就要针对不同的对象编码,对象创建的方式还是一个容易改变的地方,基于这种情况提出抽象工厂模式,抽象工厂模式为创建一系列相关对象提供统一的接口,客户只要调用这个接口即可,封装了变化,隔离了变化,让那个客户端代码稳定起来
0 0
- 工厂模式 -- 抽象工厂
- 工厂模式-抽象工厂
- 工厂模式-抽象工厂
- 工厂模式/抽象工厂模式
- 工厂模式&&抽象工厂模式
- 工厂模式---抽象工厂模式
- 工厂模式&抽象工厂模式
- 工厂模式,抽象工厂模式
- 【模式】抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 工厂方法,抽象工厂模式
- 2,工厂模式--抽象工厂
- C#工厂模式-抽象工厂
- 工厂模式与抽象工厂
- 抽象工厂设计模式
- 抽象工厂模式
- #OC---一些基本概念
- [Robotics: Aerial Robotics] Quadrotor Kinematics 四旋翼无人机运动学
- 不平衡的振动诊断要点
- 我所理解的单例模式
- Codeforces Round #347 (Div. 2) B. Rebus (codeforces 664b) (构造)
- 抽象工厂模式
- 机房重构之组合查询
- Oracle数据库实例的启动及关闭
- 集电极开路、漏极开路、上拉电阻、下拉电阻等接口相关基本概念
- Cyclic Nacklace(HDU 3746)
- hbase安装过程详解
- 不对中的故障诊断要点
- Python语句和控制流
- php面试题之五——MySQL数据库(基础部分)