-
OOD
(OO方法中一箇中間過渡環節)
鎖定
- 中文名
- 面向對象設計
- 外文名
- Object-Oriented Design
- 簡 稱
- OOD
- 簡 述
- 是OO方法中一箇中間過渡環節
OOD簡介
OOD的目標是管理程序內部各部分的相互依賴。為了達到這個目標,OOD要求將程序分成塊,每個塊的規模應該小到可以管理的程度,然後分別將各個塊隱藏在接口(interface)的後面,讓它們只通過接口相互交流。比如説,如果用OOD的方法來設計一個服務器-客户端(client-server)應用,那麼服務器和客户端之間不應該有直接的依賴,而是應該讓服務器的接口和客户端的接口相互依賴。
OOD是一種解決軟件問題的設計範式(paradigm),一種抽象的範式。使用OOD這種設計範式,我們可以用對象(object)來表現問題領域(problem domain)的實體,每個對象都有相應的狀態和行為。我們剛才説到:OOD是一種抽象的範式。抽象可以分成很多層次,從非常概括的到非常特殊的都有,而對象可能處於任何一個抽象層次上。另外,彼此不同但又互有關聯的對象可以共同構成抽象:只要這些對象之間有相似性,就可以把它們當成同一類的對象來處理。
OOD背景知識
硬件工程師們能夠如此高效,是因為他們都很懶惰。他們永遠恪守“不要去重新發明輪子”的古訓。Grady Booch把這些黑箱稱為類屬(class category)。
類屬是由被稱為類(class)的實體組成的,類與類之間通過關聯(relationship)結合在一起。一個類可以把大量的細節隱藏起來,只露出一個簡單的接口,這正好符合人們喜歡抽象的心理。所以,這是一個非常偉大的概念,因為它給我們提供了封裝和複用的基礎,讓我們可以從問題的角度來看問題,而不是從機器的角度來看問題。
軟件的複用最初是從函數庫和類庫開始的,這兩種複用形式實際上都是白箱複用。到90年代,開始有人開發並出售真正的黑箱軟件模塊:框架(framework)和控件(control)。框架和控件往往還受平台和語言的限制,實現更高程度的複用。但是想一想,其實Web Service也是面向對象,只不過是把類與類之間的關聯用XML來描述而已。
在過去的十多年裏,面向對象技術對軟件行業起到了極大的推動作用。在可以預測的將來,它仍將是軟件設計的主要技術。