简单工厂模式学习
2016-07-03 12:05
197 查看
搞了多年的软件开发、实施,也一直没有对设计模式有个系统的了解,突然想系统学习一下,感觉收获颇多,所以进行一下整理,首先就是简单工厂模式的学习总结。
核心思想:
简单工厂模式就是有一个工厂类根据传入的参数不同决定生产不同的产品,这些不同的产品都是继承自相同的父类或者是接口。
工厂的作用:
工厂的作用就是进行产品的分发,客户端可以直接调用工厂类的一个方法进行产品的分发。
简单工厂模式的实现:
1.一个父类 比如:一个大的汽车生产企业
2.n个子类 例如:各种不同类型的汽车生产基地,都是继承自同一个生产企业
3.一个汽车生产分发工厂 (作用是根据客户不同的需要,把要生产的汽车分发到不同的汽车生产基地)
4.客户端调用汽车生产分发工厂的方法。
优点:
1.客户端不需要关心工厂类的具体实现,只需要按照要求传入参数即可;
2.不需要每一种类型分别创建对象,有利于集中分发管理
缺点:
1.违反高内聚的思想,如果有事先考虑不到的分支,则需要修改工厂类。
2.如果分支过多,或者出现交叉分支的话不利于维护
核心思想:
简单工厂模式就是有一个工厂类根据传入的参数不同决定生产不同的产品,这些不同的产品都是继承自相同的父类或者是接口。
工厂的作用:
工厂的作用就是进行产品的分发,客户端可以直接调用工厂类的一个方法进行产品的分发。
简单工厂模式的实现:
1.一个父类 比如:一个大的汽车生产企业
2.n个子类 例如:各种不同类型的汽车生产基地,都是继承自同一个生产企业
3.一个汽车生产分发工厂 (作用是根据客户不同的需要,把要生产的汽车分发到不同的汽车生产基地)
4.客户端调用汽车生产分发工厂的方法。
优点:
1.客户端不需要关心工厂类的具体实现,只需要按照要求传入参数即可;
2.不需要每一种类型分别创建对象,有利于集中分发管理
缺点:
1.违反高内聚的思想,如果有事先考虑不到的分支,则需要修改工厂类。
2.如果分支过多,或者出现交叉分支的话不利于维护
相关文章推荐
- 消息队列设计精要
- Java网络编程(五)socket的半包,粘包与分包的问题
- java 中的Fork/Join框架
- 一个初学者的指南,使用D3做数据绑定
- HDU 1384 (差分约束)
- h5+css 伸缩菜单---改变高度
- Java网络编程(四) Reactor和Proactor模式
- JTable实用教程
- Android音频开发(7):使用 OpenSL ES API(下)
- 所知道的java里面几个快捷键的写法简单
- Java网络编程(三) java 流io和块io
- 分类算法落地到哪里 ?
- windows钩子
- puppet安装配置
- java语言程序设计基础篇第四章编程练习题
- Java网络编程(二) Java I/O分析(jdk1.4之前)
- Android中常用适配器及定义自己的适配器
- 当今世界最NB的25位大数据科学家
- 吉他自学教程
- ps利用操控变形改变美女开枪动作