2012-11-18 75 views
6

我只是想知道爲了提高速度,是否值得堅持使用非OOP代碼。另外,在商業Web應用程序中,OOP通常是被使用還是被避免?標準是什麼?解釋型語言(即PHP)中的面向對象編程是否高效?

非常感謝,

埃德

+0

我洙想知道這個問題的答案。 – samayo

+3

這聽起來像你試圖避免學習oop? –

+0

不是。實際上,我發現能夠創建可重用代碼的想法令人耳目一新。 – Edward

回答

9

的標準是有利於對效率可讀的代碼,因爲大部分的時間「更高效的代碼」運行由一個單一的毫秒更快。面向對象的編程通常比非面向對象的編程更可讀。

另請參閱這個問題:Why are so many web languages interpreted rather than compiled?。大部分頁面的加載時間用於發送和接收數據或執行數據庫事務。

+0

那麼它會不會對用戶產生重大影響? – Edward

+2

@愛德華在大多數情況下,沒有。除非你的代碼實際運行緩慢,否則你不應該關心自己的效率 - 記住,[過早優化是萬惡之源](http://c2.com/cgi/wiki?PrematureOptimization)。 –

+0

太棒了!感謝您的回覆。 – Edward

4

OOP通常用於商業webapps,並且正在成爲標準。其原因不是效率 - 它是代碼重用性,代碼可讀性,簡單的文檔,結構,更重要的是模塊化!

1

我認爲OOP的開銷對於速度性能通常是微不足道的,代碼會獲得很多質量。

商業應用通常使用OOP,如果在此之後開始可用(且穩定!)

3

面向對象的代碼是標準的,而不是性能的原因。這實際上是關於可維護性的。

代碼速度在web應用程序中很少有任何真正的結果。 I/O是更相關,和大多數人從事的優化最終目的是減少I/O:

  • 持久的數據庫連接
  • 數據片段緩存
  • 頁面緩存
  • 客戶 - 側高速緩存標頭

任何重要的CPU密集型任務通常由編譯的插件處理,並可供解釋型語言訪問。一些常見的例子:

  • PDF生成
  • 圖像處理(Imagik,GD)
  • 加密(OpenSSL的)
相關問題