前端开发方式比较:面向对象 VS 面向过程
2014-02-16 18:29
344 查看
在组件化时,组件封装是否封装成对象,需要具体情况具体分析。
如果组件非常简单,对外提供的接口单一,则基本不必封装成对象。这样代码会更简单,而且页面中出现大量该组件时,不需要实例化大量对象。
而组件封装成对象有下面的优点:
1. 方便功能扩展。
例:给添加组件局部刷新方法,其他所需的数据和状态不需要重新传递,直接就在对象属性中,只需要添加一个方法,然后调用即可。
2. 方便记录组件的状态。
例:在实现回复框组件时,触发focus事件时,记录focus状态,方便实现需要判断focus状态才能执行的某些操作。
3. 方便记录组件的业务数据。
例:缓存列表组件的数据,将列表数据作为对象的一个属性即可。
4. 方便实现全局变量。
例:组件需要添加一个全局变量,只需要走完一个对象属性,而不用作为参数来层层传递。
5. 方便实现事件效果。
例:很多组件渲染结束后需要回调功能,面向对象可以避免回调函数层层传递,给组件对象绑定事件,用触发事件来代替回调。
6. 方便实现代码复用。
例:实现日历输入框类时,继承文本输入框类,这样日历输入框组件的代码非常少。以继承的方式,实现各种场景下的微博显示视图,方便实现代码复用和功能扩展。
如果组件非常简单,对外提供的接口单一,则基本不必封装成对象。这样代码会更简单,而且页面中出现大量该组件时,不需要实例化大量对象。
而组件封装成对象有下面的优点:
1. 方便功能扩展。
例:给添加组件局部刷新方法,其他所需的数据和状态不需要重新传递,直接就在对象属性中,只需要添加一个方法,然后调用即可。
2. 方便记录组件的状态。
例:在实现回复框组件时,触发focus事件时,记录focus状态,方便实现需要判断focus状态才能执行的某些操作。
3. 方便记录组件的业务数据。
例:缓存列表组件的数据,将列表数据作为对象的一个属性即可。
4. 方便实现全局变量。
例:组件需要添加一个全局变量,只需要走完一个对象属性,而不用作为参数来层层传递。
5. 方便实现事件效果。
例:很多组件渲染结束后需要回调功能,面向对象可以避免回调函数层层传递,给组件对象绑定事件,用触发事件来代替回调。
6. 方便实现代码复用。
例:实现日历输入框类时,继承文本输入框类,这样日历输入框组件的代码非常少。以继承的方式,实现各种场景下的微博显示视图,方便实现代码复用和功能扩展。
相关文章推荐
- 面向对象(OO)开发与面向过程(OP)开发的比较
- 面向过程与面向对象比较之tab选项卡切换
- 面向对象系统设计与开发专题<3>__开发过程
- java---面向对象vs面向过程,局部变量vs成员变量
- 收集学习asp.net比较完整的面向对象开发流程
- [转] 面向对象软件开发和过程(四)重用
- 面向对象与面向过程---开发思想的转变看工作
- 基于UML的面向对象软件开发过程
- 尚学堂js面向对象开发 (五)两种创建对象的方式(工厂方式,构造方法)
- 面向对象与面向过程的比较
- 省市县三级联动插件(面向过程,面向对象两种方式实现)
- 面向对象软件开发和过程
- 面向对象开发方法的开发过程
- [转] 面向对象软件开发和过程(六)针对契约设计
- js开发:通过面向对象方式完成的拖拽功能
- 学习PHP C扩展之面向对象开发方式 (转)
- 侯捷老师C++大系之C++面向对象开发:(一)不带指针的类:Complex复数类的实现过程
- 面向对象开发方式的开源硬件--.NET Gadgeteer
- 结构化开发方法vs面向对象开发方法
- php mysqli数据库面向过程,面向对象实例比较