自己对于工厂模式的理解
来源:互联网 发布:唐诗逸和张傲月 知乎 编辑:程序博客网 时间:2024/05/17 08:54
首先说一下封装,面向对象的特点中,其中有一个就是封装,当然这里指的是类的封装。
工厂模式其实就有点像“封装”概念的扩展,这里当然不是指类的封装,而是指“创建对象”这一过程的封装,即把创建对象的过程都封装在一个工厂里,换句话说:工厂的职能就是创建对象。
工厂模式的好处就是把每个角色,说白了就是每一部分代码的职责分的很明确,调用者(或者成为消费者)就是调用者,他接收到的就是一个父类;工厂就是工厂,它就是用来创建对象;而类就是一个个产品。当有新的产品时,只需要增加相应的类,以及在工厂里“造”出来就可以了,这样可以降低代码间的耦合程度。如果不使用工厂模式,那么就需要调用者自己去创建对象,此时消费者又成了生产者。
总之一句话,工厂模式的作用就是让工厂来造产品,也就是让工厂来创建对象,而不是在项目的任意地方都可以创建对象。
那么什么时候使用工厂模式呢?
当我们不知道要创建哪个子类,或者要根据用户的输入来创建子类的时候就可以考虑使用工厂模式。此时用户接收到的永远都是一个父类对象,而这个父类对象里面的装的就是工厂里面造出来的对应的子类对象。
0 0
- 自己对于工厂模式的理解
- 对于工厂模式的理解
- 自己对于策略模式的理解
- 个人对于PHP设计模式之工厂模式的理解
- 自己对于MVC开发模式的理解-2
- 自己对于python的理解
- 工厂模式(自己的理解和实现)
- 工厂模式的理解
- 工厂模式的理解
- 工厂模式的理解
- 工厂模式的理解
- 工厂模式的理解
- 工厂模式的理解
- 对于代理模式的理解
- 对于MVC模式的理解
- 对于组合模式的理解
- 对于设计模式的理解
- 自己对设计模式的理解:工厂模式和单例模式
- easyui 1.4.3 窗口创建或拖动超过父元素 边界 BUG 解决方法
- 文章标题
- servlet处理html表单文件上传
- php项目琐碎总结
- TCP协议三次握手四次挥手过程
- 自己对于工厂模式的理解
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 解决办法
- Ubuntu14.04下Python3.4启动IDLE
- Android开发学习日记
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- Understanding and Diagnosing Visual Tracking Systems
- BestCoder Round #60 HDU5505 GT and numbers
- Ogre的渲染流程,在渲染时材质是如何起作用的,材质加载和解析
- raw_input() 与 input() __ Python