物件導向方法論與結構化方法論的本質區別【轉】
2010-12-20 11:11:09| 分類:
電腦專業文章 | 標籤:
|字型大小大中小 訂閱
一、系統的構造內容不同。
物件導向的方法是以對象為核心來構造軟體架構的。
結構化方法是按功能分解的規律組織軟體系統結構的。
二、 應對需求變更能力的不同。
物件導向的方法與生俱來很強的應對需求變更能力。能從容應對客戶的需求變更。
對結構化方法來說,它的先天缺陷是需求變更很難,一旦要需求變更,意味著以前一切的工作都是徒勞的。
三、管理維護的難易程度不同
物件導向方法對管理資訊系統的維護很簡單。
結構化方法對管理資訊系統的維護很困難。
四、思維模式不同
物件導向方法的思維模式是:關注“責任”,把責任轉移。關注要解決的問題可以歸納或劃分為哪些責任,歸納每個對象應該負有的責任,然後通過訊息傳遞,讓他們各自承擔起自己的責任就行了。通過對象自身的行為改變其內部狀態(所謂封裝的概念)。
結構化方法的思維模式是:只關注要解決的問題的本身,不關注應由“誰”來完成。主要是通過外部力量改變資料狀態。
五、強調的重點不同
物件導向方法強調對象互動。對象是一等公民,我們主要關注的是對象如何通過向彼此發送訊息,支配行為,改變狀態。
結構化方法強調過程式列。過程是一等公民,我們首先要知道做事情的一連串過程,一個過程就是一個改變實體狀態的操作序列。
總之,結構化的方法是在傳統的程式設計語言環境下誕生的,用這種方法構建的系統結構使得開發人員在面對使用者需求頻繁變更的開發環境時,吃盡了苦頭。
相比之下,物件導向的語言和方法,使開發人員如釋重負。首先,物件導向編程方法帶來了高效、可靠、易維護、易擴充的效果。其次,運用物件導向的思維模式來認識和理解系統的構成,更接近於人們對客觀世界的認知習慣。最重要的是,運用物件導向的方法構建的設計方案能夠靈活自如地應對使用者的需求變更,而這種變更對使用結構化方法構建的系統往往是一種致命的挑戰。因此,物件導向的方法逐漸發展成為主流軟體工程方法。