创建型设计模式:工厂模式

[size=medium][b]分:简单工厂、工厂方法、抽象工厂[/b][/size]

[size=medium][b]简单工厂模式[/b]
简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。

[img]http://dl2.iteye.com/upload/attachment/0116/0103/35c833b0-096f-3846-91ee-4f7d14bede56.png[/img]

[b]工厂方法模式[/b]
工厂方法模式去掉了简单工厂模式中工厂方法的静态属性,使得它可以被子类继承。
这样在简单工厂模式里集中在工厂方法上的压力可以由工厂方法模式里不同的工厂子类来分担。


[b]抽象工厂模式[/b]
  抽象工厂模式是对象的创建模式,它是工厂方法模式的进一步推广。
  假设一个子系统需要一些产品对象,而这些产品又属于一个以上的产品等级结构。那么为了将消费这些产品对象的责任和创建这些产品对象的责任分割开来,可以引进抽象工厂模式。这样的话,消费产品的一方不需要直接参与产品的创建工作,而只需要向一个公用的工厂接口请求所需要的产品。
  通过使用抽象工厂模式,可以处理具有相同(或者相似)等级结构中的多个产品族中的产品对象的创建问题。如下图所示:
[img]http://dl2.iteye.com/upload/attachment/0116/0105/54e693e8-a1e7-3280-a7b1-a85f3b5ac0e2.png[/img]

由于这两个产品族的等级结构相同,因此使用同一个工厂族也可以处理这两个产品族的创建问题,这就是抽象工厂模式。
根据产品角色的结构图,就不难给出工厂角色的结构设计图
[img]http://dl2.iteye.com/upload/attachment/0116/0107/a33956e2-5e57-3e1c-a55c-46de84868d1a.png[/img]

可以看出,每一个工厂角色都有两个工厂方法,分别负责创建分属不同产品等级结构的产品对象。
[img]http://dl2.iteye.com/upload/attachment/0116/0109/a9721c35-bc30-34ee-bf21-42280a83908e.png[/img]


[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值