談談網站建設中的程序設計
2018-10-26 16:34:23
在網站建設中面向對象程序設計(簡稱OOP)是當今主流的程序設計范型,它已經取代了70年代的“結構化”過程化程序設計發(fā)技術。Java是完全面向對象的,必須熟悉ODP才能夠編寫Java程序。
面向對象的程序是由對象組成的,每個對象包含對用戶公開的特定功能部分和隱藏的實現(xiàn)部分。程序中的很多對象來自于標準庫,還有一些是自定義的。究竟是自己構造對象,還是從外界購買對象完全取決于預算和時間。但是,從根本上說,只要對象能夠滿足要求,就不必關心其功能的具體實現(xiàn)過程。在ODP中,不必關心對象的具體實現(xiàn),只要能夠滿足用戶的需求即可。
傳統(tǒng)的結構化程序設計通過設計一系列的過程(即算法)來求解問題。這些過程一旦被確定,就要開始考慮存儲數(shù)據(jù)的方式。這就是Pascal語言的設計者Niklaus Wirth將其編著的有關程序設計的著名書籍命名為《算法+數(shù)據(jù)結構=程序》的原因。需要注意的是,在Wirth命名的標題中,算琺是先進位的,數(shù)據(jù)結構是第二位的。這就明確地表述了程序員的工作方式。首先要確定如何操作數(shù)據(jù),然后再決定如何組織數(shù)據(jù),以便于數(shù)據(jù)操作。OOP卻調換了這個次序,數(shù)據(jù)被放在先進位,然后再考慮操作數(shù)據(jù)的算法。
對于一些規(guī)模較小的問題,將其分解為過程的開發(fā)方式比較理想。而面向對象更加適用于解決規(guī)模較大的問題。要想實現(xiàn)一個簡單的web瀏覽器可能需要大約2000個過程,這些過程可能需要對一組全局數(shù)據(jù)進行操作。采用面向對象的設計風格,可能只需要大約100個類,每個類平均包含20個方法。后者更易于程序員掌握,也容易找到bug。假設給定對象的數(shù)據(jù)處于一種錯誤狀態(tài),在訪問過這個數(shù)據(jù)項的20個方法中查找錯誤要比在2000個過程中查找容易得多。