三种工厂模式的简单对比

很早就想把设计模式吃透,苦于懒,一直都是妄想,最近安排了一些时间,仿佛凭空多出了很多时间,现在在一点点抠抠设计模式里面的东西。设计模式的学习是很必要的,尤其对优化代码结构,提现最为明显。
以下的灵感来源于:http://blog.csdn.net/jason0539/article/details/44976775
1. 简单工厂模式
UML:
 
图片来源:http://blog.csdn.net/jason0539/article/details/23020989
优缺点:
这种方法体现了基本的工厂模式的优点,把创建过程交给工厂,用户不需要关注创建的过程,只需要告诉工厂想要什么东西。这种方法缺点也很明显,违背了设计模式的开闭原则(对扩展开放,对修改关闭),因为要想增加产品就要对工厂进行改建
2. 工厂方法模式
工厂方法模式就是为了解决简单工厂模式的弊端,工厂方法模式拥有一个抽象工厂,用户需要的不同产品,需要不同的继承了该抽象工厂的实例工厂去创建,这样每当用户需要生产不同的产品的时候只需要取实例化对应的工厂实例和产品模型,扩展性要比简单工厂优秀的多,但是其缺点也是比较明显的,就是需要取创建很多工厂实例,类的数量增加的比较多。
3. 抽象工厂模式
抽象工厂模式相较于工厂方法模式,实例工厂可以生产多种产品,有多个抽象产品,每个实例工厂相当于一个家族,众多家族中的产品种类相同,这里的实例工厂有了定制一个产品的不同规格配件的功能
尴尬,上着班写的,简单粗糙,visio也到了试用期了,但是抵挡不了想发一篇博客的冲动,把工具弄好了,在细化这篇博客,现在这个顶多就是个随笔
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值