首页 百科知识 中代码重用方式的比较

中代码重用方式的比较

时间:2022-10-19 百科知识 版权反馈
【摘要】:面向对象方法的使用,能够提高开发效率,缩短开发周期,具有更好的可扩展性和可维护性。一般而言,面向功能的开发方法开发出的程序比面向对象开发出的程序具有更高的执行效率。因此,开发者宁愿选择难以维护的面向功能的开发方法,尽可能地将代码维护的主导权掌握在自己手中。而实现同样的功能,面向对象方法执行的时间要比使用函数略多20%~30%。这也是很多基于Web的系统至今也没有采用面向对象方法来设计的主要原因。

7.5.4 Web中代码重用方式的比较

在Web系统开发中,仍然是使用面向功能的(以函数调用为主)方法来开发。这是因为

(1)大多数Web系统与传统的信息系统相比较小,而且很直观。

(2)面向对象方法的使用,能够提高开发效率,缩短开发周期,具有更好的可扩展性和可维护性。但这并不意味着程序执行的效率(占用更少的资源,执行更短的时间)会得到提高。一般而言,面向功能的开发方法开发出的程序比面向对象开发出的程序具有更高的执行效率。而在Web系统中,很多应用(比如搜索引擎等)是要坚持效率优先、追求最快的响应速度这个原则的。

(3) Web开发大多使用解释型语言,开发者将应用程序对外交付时(或者给对方试用时),是交付源代码,而不是二进制文件。这就不利于知识产权的保护。因此,开发者宁愿选择难以维护(实际上就是代码比较难以读懂)的面向功能的开发方法,尽可能地将代码维护的主导权掌握在自己手中。目前有一些第三方软件(如Zend等)可将源代码进行加密,而不影响其功能。

在PHP应用中,很多著名的系统目前还是采用传统的面向过程的开发方法,程序中有大量的自定义函数。比如上面提到的phpMyAdmin著名的网上商店系统oscommerce、x-cart等。

下面我们做一个例子,测试三种方式代码的执行效率。

(1)使用外部文件直接导入,做90000次导入文件的动作。

img298

(2)使用本文件内的自定义函数,做9000000次调用函数的操作。

img299

(3)使用本文件内的类,做9000000次调用类中方法的操作。

在同一台机器上测试显示的结果是

(1)

运行次数90000

time: 11 second

可以推测:当运行次数达到9000000

所花时间时1100秒

(2)

9000000

time: 10 second

(3)

9000000

time: 13 second

该测试表明:频繁将外部文件调入是一件非常耗时的操作,程序设计时应该避免或尽量减少外部文件调入的次数。而实现同样的功能,面向对象方法执行的时间要比使用函数略多20%~30%。对于一些复杂一点的应用,这个差距可能会更大。这也是很多基于Web的系统至今也没有采用面向对象方法来设计的主要原因。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈