在解释性编程语言,如PHP和JavaScript中,采用面向对象方法与过程式方法相比有什么影响?
具体来说,当创建Web应用并在过程式方法和面向对象方法之间选择时,我要考虑的是一份清单,以优化速度和可维护性。如果您知道任何探讨此问题的文章,引用的研究和测试案例也将有所帮助。
归根结底: 在解释性语言中,采用面向对象方法与过程式方法相比,性能损失有多大(如果有的话)?
在解释性编程语言,如PHP和JavaScript中,采用面向对象方法与过程式方法相比有什么影响?
具体来说,当创建Web应用并在过程式方法和面向对象方法之间选择时,我要考虑的是一份清单,以优化速度和可维护性。如果您知道任何探讨此问题的文章,引用的研究和测试案例也将有所帮助。
归根结底: 在解释性语言中,采用面向对象方法与过程式方法相比,性能损失有多大(如果有的话)?
也许我有点疯狂,但在像这样使用解释性语言的情况下担心速度,就像尝试弄清楚要把小屋子涂成什么颜色一样。更不用说这种优化完全是过早的想法了。
当你提到“可维护性”时,你说得一针见血。我会选择最具生产力和可维护性的方法。如果你需要速度,那么从在解释性语言中切换过程式编程与面向对象编程范式是得不到速度的。
不幸的是,我也做了我的测试。我测试了速度,它大致相同,但是当使用PHP中的memory_get_usage()测试内存使用情况时,在面向对象编程(OOP)方面看到了一个非常高的数字。
OOP需要116,576字节,而过程式编程只需要18,856字节。我知道“硬件很便宜”,但是这个使用量增加了1000%?对不起,这并不是最优的。而且一旦有很多用户同时访问您的网站,我确信您的RAM会过热或者用完。我错了吗?
实际上,我在维护的一个网站上使用Python进行了类似的小测试,并发现它们的速度几乎相当,过程式方法略胜一筹,但面向对象的代码显然更加简洁明了,以至于我只执行了一次迭代就停止练习。
所以,在我的经验中,这并不重要。