複製鏈接
請複製以下鏈接發送給好友

OOD

(OO方法中一箇中間過渡環節)

鎖定
面向對象設計(Object-Oriented Design,OOD)方法是OO方法中一箇中間過渡環節。其主要作用是對OOA分析的結果作進一步的規範化整理,以便能夠被OOP直接接受。
中文名
面向對象設計
外文名
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來描述而已。
在過去的十多年裏,面向對象技術對軟件行業起到了極大的推動作用。在可以預測的將來,它仍將是軟件設計的主要技術。

OOD特點介紹

OO方法以對象為基礎,利用特定的軟件工具直接完成從對象客體的描述到軟件結構之間的轉換。這是OO方法最主要的特點和成就。OO方法的應用解決了傳統結構化開發方法客觀世界描述工具與軟件結構的不一致性問題,縮短了開發週期,解決了從分析和設計到軟件模塊結構之間多次轉換映射的繁雜過程,是一種很有發展前途的系統開發方法。