亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 技術開發(fā) > 正文

面向對象設計(OOD)的概念與步驟

2023-06-17 18:00:50
字體:
來源:轉載
供稿:網(wǎng)友

面向對象設計(Object-Oriented Design,OOD)方法是OO方法中一個中間過渡環(huán)節(jié)。其主要作用是對OOA分析的結果作進一步的規(guī)范化整理,以便能夠被OOP直接接受。

面向對象設計(OOD)是一種軟件設計方法,是一種工程化規(guī)范。這是毫無疑問的。按照Bjarne Stroustrup的說法,面向對象的編程范式(paradigm)是[Stroustrup, 97]:

l 決定你要的類;

l 給每個類提供完整的一組操作;

l 明確地使用繼承來表現(xiàn)共同點。

由這個定義,我們可以看出:OOD就是“根據(jù)需求決定所需的類、類的操作以及類之間關聯(lián)的過程”。

OOD的目標是管理程序內部各部分的相互依賴。為了達到這個目標,OOD要求將程序分成塊,每個塊的規(guī)模應該小到可以管理的程度,然后分別將各個塊隱藏在接口(interface)的后面,讓它們只通過接口相互交流。比如說,如果用OOD的方法來設計一個服務器-客戶端(client-server)應用,那么服務器和客戶端之間不應該有直接的依賴,而是應該讓服務器的接口和客戶端的接口相互依賴。

這種依賴關系的轉換使得系統(tǒng)的各部分具有了可復用性。還是拿上面那個例子來說,客戶端就不必依賴于特定的服務器,所以就可以復用到其他的環(huán)境下。如果要復用某一個程序塊,只要實現(xiàn)必須的接口就行了。

OOD是一種解決軟件問題的設計范式(paradigm),一種抽象的范式。使用OOD這種設計范式,我們可以用對象(object)來表現(xiàn)問題領域(problem domain)的實體,每個對象都有相應的狀態(tài)和行為。我們剛才說到:OOD是一種抽象的范式。抽象可以分成很多層次,從非常概括的到非常特殊的都有,而對象可能處于任何一個抽象層次上。另外,彼此不同但又互有關聯(lián)的對象可以共同構成抽象:只要這些對象之間有相似性,就可以把它們當成同一類的對象來處理。

一、OOD背景知識

計算機硬件技術卻在飛速發(fā)展。從幾十年前神秘的龐然大物,到現(xiàn)在隨身攜帶的移動芯片;從每秒數(shù)千次運算到每秒上百億次運算。當軟件開發(fā)者們還在尋找能讓軟件開發(fā)生產力提高一個數(shù)量級的“銀彈”[Brooks, 95]時,硬件開發(fā)的生產力早已提升了百倍千倍。

硬件工程師們能夠如此高效,是因為他們都很懶惰。他們永遠恪守“不要去重新發(fā)明輪子”的古訓。Grady Booch把這些黑箱稱為類屬(class category),現(xiàn)在我們則通常把它們稱為“組件(component)”。

類屬是由被稱為類(class)的實體組成的,類與類之間通過關聯(lián)(relationship)結合在一起。一個類可以把大量的細節(jié)隱藏起來,只露出一個簡單的接口,這正好符合人們喜歡抽象的心理。所以,這是一個非常偉大的概念,因為它給我們提供了封裝和復用的基礎,讓我們可以從問題的角度來看問題,而不是從機器的角度來看問題。

軟件的復用最初是從函數(shù)庫和類庫開始的,這兩種復用形式實際上都是白箱復用。到90年代,開始有人開發(fā)并出售真正的黑箱軟件模塊:框架(framework)和控件(control)??蚣芎涂丶€受平臺和語言的限制,現(xiàn)在軟件技術的新潮流是用SOAP作為傳輸介質的Web Service,它可以使軟件模塊脫離平臺和語言的束縛,實現(xiàn)更高程度的復用。但是想一想,其實Web Service也是面向對象,只不過是把類與類之間的關聯(lián)用XML來描述而已[Li, 02]。

在過去的十多年里,面向對象技術對軟件行業(yè)起到了極大的推動作用。在可以預測的將來,它仍將是軟件設計的主要技術——至少我看不到有什么技術可以取代它的。

二、OOD到底從哪兒來?

有很多人都認為:OOD是對結構化設計(Structured Design,SD)的擴展,其實這是不對的。OOD的軟件設計觀念和SD完全不同。SD注重的是數(shù)據(jù)結構和處理數(shù)據(jù)結構的過程。而在OOD中,過程和數(shù)據(jù)結構都被對象隱藏起來,兩者幾乎是互不相關的。不過,追根溯源,OOD和SD有著非常深的淵源。

1967年前后,OOD和SD 的概念幾乎同時誕生,它們分別以不同的方式來表現(xiàn)數(shù)據(jù)結構和算法。當時,圍繞著這兩個概念,很多科學家寫了大量的論文。其中,由Dijkstra和 Hoare兩人所寫的一些論文講到了“恰當?shù)某绦蚩刂平Y構”這個話題,聲稱goto語句是有害的,應該用順序、循環(huán)、分支這三種控制結構來構成整個程序流程。這些概念發(fā)展構成了結構化程序設計方法;而由Ole-Johan Dahl所寫的另一些論文則主要討論編程語言中的單位劃分,其中的一種程序單位就是類,它已經(jīng)擁有了面向對象程序設計的主要特征。

這兩種概念立刻就分道揚鑣了。在結構化這邊的歷史大家都很熟悉:NATO會議采納了Dijkstra的思想,整個軟件產業(yè)都同意goto語句的確是有害的,結構化方法、瀑布模型從70年代開始大行其道。同時,無數(shù)的科學家和軟件工程師也幫助結構化方法不斷發(fā)展完善,其中有很多今天足以使我們振聾發(fā)聵的名字,例如Constantine、Yourdon、DeMarco和Dijkstra。有很長一段時間,整個世界都相信:結構化方法就是拯救軟件工業(yè)的 “銀彈”。當然,時間最后證明了一切。

而此時,面向對象則在研究和教育領域緩慢發(fā)展。結構化程序設計幾乎可以應用于任何編程語言之上,而面向對象程序設計則需要語言的支持[1],這也妨礙了面向對象技術的發(fā)展。實際上,在60年代后期,支持面向對象特性的語言只有Simula-67這一種。到70年代,施樂帕洛阿爾托研究中心(PARC)的 Alan Key等人又發(fā)明了另一種基于面向對象方法的語言,那就是大名鼎鼎的Smalltalk。但是,直到80年代中期,Smalltalk和另外幾種面向對象語言仍然只停留在實驗室里。

到90年代,OOD突然就風靡了整個軟件行業(yè),這絕對是軟件開發(fā)史上的一次革命。不過,登高才能望遠,新事物總是站在舊事物的基礎之上的。70年代和80年代的設計方法揭示出許多有價值的概念,誰都不能也不敢忽視它們,OOD也一樣。

三、OOD和傳統(tǒng)方法有什么區(qū)別?

還記得結構化設計方法嗎?程序被劃分成許多個模塊,這些模塊被組織成一個樹型結構。這棵樹的根就是主模塊,葉子就是工具模塊和最低級的功能模塊。同時,這棵樹也表示調用結構:每個模塊都調用自己的直接下級模塊,并被自己的直接上級模塊調用。

那么,哪個模塊負責收集應用程序最重要的那些策略?當然是最頂端的那些。在底下的那些模塊只管實現(xiàn)最小的細節(jié),最頂端的模塊關心規(guī)模最大的問題。所以,在這個體系結構中越靠上,概念的抽象層次就越高,也越接近問題領域;體系結構中位置越低,概念就越接近細節(jié),與問題領域的關系就越少,而與解決方案領域的關系就越多。

但是,由于上方的模塊需要調用下方的模塊,所以這些上方的模塊就依賴于下方的細節(jié)。換句話說,與問題領域相關的抽象要依賴于與問題領域無關的細節(jié)!這也就是說,當實現(xiàn)細節(jié)發(fā)生變化時,抽象也會受到影響。而且,如果我們想復用某一個抽象的話,就必須把它依賴的細節(jié)都一起拖過去。

而在OOD中,我們希望倒轉這種依賴關系:我們創(chuàng)建的抽象不依賴于任何細節(jié),而細節(jié)則高度依賴于上面的抽象。這種依賴關系的倒轉正是OOD和傳統(tǒng)技術之間根本的差異,也正是OOD思想的精華所在。

四、OOD步驟

細化重組類

細化和實現(xiàn)類間關系,明確其可見性

增加屬性,指定屬性的類型與可見性

分配職責,定義執(zhí)行每個職責的方法

對消息驅動的系統(tǒng),明確消息傳遞方式

利用設計模式進行局部設計

畫出詳細的類圖與時序圖

五、OOD設計過程中要展開的主要幾項工作

(一)對象定義規(guī)ge的求精過程

對于OOA所抽象出來的對象-&-類以及匯集的分析文檔,OOD需要有一個根據(jù)設計要求整理和求精的過程,使之更能符合OOP的需要。這個整理和求精過程主要有兩個方面:一是要根據(jù)面向對象的概念

模型整理分析所確定的對象結構、屬性、方法等內容,改正錯誤的內容,刪去不必要和重復的內容等。二是進行分類整理,以便于下一步數(shù)據(jù)庫設計和程序處理模塊設計的需要。整理的方法主要是進行歸

類,對類一&一對象、屬性、方法和結構、主題進行歸類。

(二)數(shù)據(jù)模型和數(shù)據(jù)庫設計

數(shù)據(jù)模型的設計需要確定類-&-對象屬性的內容、消息連接的方式、系統(tǒng)訪問、數(shù)據(jù)模型的方法等。最后每個對象實例的數(shù)據(jù)都必須落實到面向對象的庫結構模型中。

(三)優(yōu)化

OOD的優(yōu)化設計過程是從另一個角度對分析結果和處理業(yè)務過程的整理歸納,優(yōu)化包括對象和結構的優(yōu)化、抽象、集成。

對象和結構的模塊化表示OOD提供了一種范式,這種范式支持對類和結構的模塊化。這種模塊符合一般模塊化所要求的所有特點,如信息隱蔽性好,內部聚合度強和模塊之間耦合度弱等。

集成化使得單個構件有機地結合在一起,相互支持。

六、OO方法的特點和面臨的問題

OO方法以對象為基礎,利用特定的軟件工具直接完成從對象客體的描述到軟件結構之間的轉換。這是OO方法最主要的特點和成就。OO方法的應用解決了傳統(tǒng)結構化開發(fā)方法中客觀世界描述工具與軟

件結構的不一致性問題,縮短了開發(fā)周期,解決了從分析和設計到軟件模塊結構之間多次轉換映射的繁雜過程,是一種很有發(fā)展前途的系統(tǒng)開發(fā)方法。

但是同原型方法一樣,OO方法需要一定的軟件基礎支持才可以應用,另外在大型的MIS開發(fā)中如果不經(jīng)自頂向下的整體劃分,而是一開始就自底向上的采用OO 方法開發(fā)系統(tǒng),同樣也會造成系統(tǒng)結構不合理、各部分關系失調等問題。所以OO方法和結構化方法目前仍是兩種在系統(tǒng)開發(fā)領域相互依存的、不可替代的方法。

七、OOD能給我?guī)硎裁矗?/p>

問這個問題的人,腦子里通常是在想“OOD能解決所有的設計問題嗎?”沒有銀彈。OOD也不是解決一切設計問題、避免軟件危機、捍衛(wèi)世界和平……的銀彈。OOD只是一種技術。但是,它是一種優(yōu)秀的技術,它可以很好地解決目前的大多數(shù)軟件設計問題——當然,這要求設計者有足夠的能力。

OOD可能會讓你頭疼,因為要學會它、掌握它是很困難的;OOD甚至會讓你失望,因為它也并不成熟、并不完美。OOD也會給你帶來欣喜,它讓你可以專注于設計,而不必操心那些細枝末節(jié);OOD也會使你成為一個更好的設計師,它能提供給你很好的工具,讓你能開發(fā)出更堅固、更可維護、更可復用的軟件。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
成人免费视屏| 亚洲精品电影在线观看| 欧美国产精品中文字幕| 国产精品色哟哟网站| 一二三四视频在线社区中文字幕2| 青草国产精品| 欧美在线视频播放| 久久精品噜噜噜成人av农村| 国产一区二区视频网站| 五十路六十路七十路熟婆| 麻豆国产一区二区| 亚洲一区二区三区在线免费| 农村妇女精品一二区| 老司机av网站| 国产变态拳头交视频一区二区| 97精品国产一区二区三区| 91国产在线免费观看| 少妇免费毛片久久久久久久久| 四虎成人精品在永久免费| 欧美日韩国产精品自在自线| 精品国产乱码一区二区三区| 日本成在线观看| 日韩午夜在线电影| 欧美日韩视频一区二区| 久久综合久色欧美综合狠狠| av不卡在线免费观看| 国产视频在线看| 久久一区二区三区喷水| 91精品国产色综合久久不卡电影| 97国产精品videossex| 污视频网站在线观看| av中文字幕在线免费观看| 香蕉视频黄在线观看| 成人免费视频网站入口| 亚洲欧美日韩精品久久| 欧美激情啊啊啊| 8x国产一区二区三区精品推荐| 国产成人精品亚洲| 在线精品亚洲一区二区不卡| 天天堂资源网在线观看免费视频| 亚洲熟妇一区二区| 8x8x华人在线| 中文字幕理伦片免费看| 色综合男人天堂| 国产美女精品视频免费观看| 九色视频网站在线观看| 国产精品一区二区三区在线观| 国产成人亚洲综合青青| 狠狠人妻久久久久久综合麻豆| 3p乱日视频| 午夜精品99久久免费| 国产一区av在线| 91视频成人免费| av毛片精品| 亚洲电影av| 欧美日韩五区| 色呦呦在线免费观看| 欧美做受高潮电影o| 日本一区二区三区www| eeuss影院www天堂免费| 欧美大片网址| 8x海外华人永久免费日韩内陆视频| 国产精品无码无卡无需播放器| 综合精品一区| 热re久久精品国产99热| 91chinesevideo永久地址| 亚洲欧美在线视频免费| 国产精品国产三级国产aⅴ中文| 久草精品在线| a在线观看免费视频| 午夜在线视频免费| av在线com| 久久aⅴ国产欧美74aaa| 小小女视频网站色琼网站| 一区二区三区波多野结衣在线观看| xxx欧美尤物xxx| 91青青国产在线观看精品| 久久国产在线视频| 国产在线不卡精品| 日韩精品极品视频在线观看免费| 亚洲精品第一区二区三区| 黄色网在线播放| 激情久久综合| 你懂得影院夜精品a| 国产一区视频在线观看免费| 国产女人18毛片水真多18| 亚洲熟妇无码av| 国产欧美一级| 久草在线视频资源| 久久国产精品久久久久久电车| 欧美日韩中文字幕一区| 欧美精品免费观看二区| 韩国精品福利一区二区三区| 中文字幕在线观看视频免费| 大地资源二中文在线影视观看| 高清在线观看免费| 精品五月天久久| 久久久精品一区二区涩爱| 美女无遮挡网站| 亚洲自拍偷拍九九九| 不卡的av电影| 精品欧美激情在线观看| 久久久久国产精品午夜一区| 国产精品丝袜黑色高跟| 欧美超碰在线| 制服丝袜在线第一页| 波多野结衣在线一区二区| 欧洲视频一区二区三区| 成人影院一区二区三区| 五月天综合视频| 久久色免费在线视频| 久久久美女艺术照精彩视频福利播放| 国产奶水涨喷在线播放| 在线观看一区二区三区三州| 日本女优在线视频一区二区| 青青草成人免费视频| 免费成人美女女| 糖心vlog精品一区二区| 成人午夜激情影院| 亚洲成人黄色av| 日韩美女在线视频| 精品黑人一区二区三区久久| 大色综合视频网站在线播放| 成人一区二区在线| 日韩视频在线直播| 日本免费看黄色| 欧美一级在线免费观看| 亚洲四色影视在线观看| 人妻妺妺窝人体色www聚色窝| 中文字幕精品久久久久| 中文字幕成人在线视频| 秋霞av鲁丝片一区二区| 国产成人av无码精品| 国产美女诱惑一区二区| 99精品欧美一区二区| 国产精品91av| 亚洲国产精品一区制服丝袜| 亚洲一线二线三线视频| 中文人妻av久久人妻18| av亚洲精华国产精华| 国产无遮挡一区二区三区毛片日本| 国产精品第一第二| 国产成人精品aa毛片| 久久久久久毛片| 欧美老女人在线视频| 欧美视频xxxx| 96日本xxxxxⅹxxx17| 欧美高清视频一区二区三区| 午夜精彩国产免费不卡不顿大片| 一区二区三区日韩在线| 日韩精品视频中文在线观看| 国产欧美二区| 五十度飞在线播放| 亚洲中文一区二区三区| 国产在线二区| 国产九九在线| 米奇精品一区二区三区| 日本欧美亚洲| 国产日韩欧美亚洲一区| 特黄视频免费观看| 理论片播放午夜国外| 久久精品免费av| 成人精品免费看| 色综合色综合色综合色综合| 97超碰免费观看| 婷婷国产在线| 2019中文在线观看| h免费在线观看| 国产精品永久免费在线| 国产精品一区二区三区av| 国产网站欧美日韩免费精品在线观看| 日韩欧美中文在线观看| 性欧美丰满熟妇xxxx性仙踪林| 女厕嘘嘘一区二区在线播放| 欧美一级理论片| 伊色综合久久之综合久久| 爱情电影社保片一区| 97碰在线观看| 一区二区三区黄色片| 欧美区一区二区| 色av中文字幕| 九色福利视频| 88av在线| 69xxx免费视频| 日韩精品一二三四区| 亚洲成人1区2区| 粉嫩一区二区三区国产精品| 亚洲国产高清不卡| 国产女人高潮时对白| 国产福利电影在线播放| 久久99久久亚洲国产| 黄色三级网站| 婷婷久久综合九色国产成人| 一区二区视频在线观看免费的| 国产精品91在线观看| 国产偷v国产偷v亚洲高清| 中文字幕免费在线看线人动作大片| 农民人伦一区二区三区| 国产又粗又长又黄| 热久久精品免费视频| 免费日韩一区二区三区| 中文字幕在线观看免费视频| 国产a级片免费观看| 欧美二三四区| 日本在线观看网站| 欧美一级片免费观看| 亚洲男人在线| 日批视频免费看| 欧美日韩日本网| 日本一区不卡| 亚洲电影av在线| 国产精品免费aⅴ片在线观看| 91动漫在线| 宅男午夜在线| 国产精品视频导航| 亚洲福利视频一区| 亚洲一区二区av| 欧美色视频在线观看| 精品久久免费| 欧美色资源站| 99热这里只有精品7| 国产日韩在线观看一区| 亚洲18私人小影院| 国产成人精品影院| 日本一区二区不卡高清更新| 一区二区xxx| 一本色道综合久久欧美日韩精品| 51xx午夜影福利| 日韩在线观看免费高清| 亚洲区自拍偷拍| 亚洲美女一区二区三区| 夜夜躁日日躁狠狠久久88av| 久久精品一区二区三区不卡| 精品少妇一区二区30p| 2018高清国产日本一道国产| 久久男人中文字幕资源站| 欧美一区三区| 日韩精品国产一区| 亚洲av无码片一区二区三区| 日韩在线观看网站| 欧美激情国产精品免费| 五月婷婷丁香在线| 欧美一区二区在线看| 欧美日韩一卡二卡三卡| 91亚洲va在线va天堂va国| 毛片在线网址播放| juliaann成人作品在线看| 欧美韩国亚洲| 欧美一区二区三级| 69久久精品无码一区二区| 在线观看一区欧美| 国产成人高清精品| 精品乱子伦一区二区| 日韩极品少妇| 男人的天堂在线免费视频| 国产亚洲精品自在线观看| 在线观看av不卡| 拔插拔插华人永久免费| av电影在线观看一区二区三区| 欧美日韩美女视频| 美国av免费观看| 精品欧美日韩一区二区| 97av影视网在线观看| 国产视频www| 久久国产精品久久w女人spa| 精品国产鲁一鲁一区二区三区| 日韩中文字幕在线视频播放| www.亚洲色图.com| 亚洲图片小说在线| 9l国产精品久久久久麻豆| 一区二区三区高清在线观看| 国产精品影院在线| 精品久久久久中文字幕小说| 日本天码aⅴ片在线电影网站| 色噜噜狠狠一区二区| 色一情一乱一伦一视频免费看| 嘿嘿视频在线观看| 国产精品久久久久久69| 亚洲女人天堂色在线7777| 婷婷六月国产精品久久不卡| 亚洲 国产 日韩 综合一区| 日韩美女视频19| 免费a在线观看播放| 无套内谢丰满少妇中文字幕| 色先锋影音av| 亚洲裸色大胆大尺寸艺术写真| 亚洲欧美日本视频在线观看| 欧美日韩一区中文字幕| 国产日韩精品视频| 午夜小视频在线观看| 中文字幕一区二区三区精品| 亚洲色图38p| 美日韩一级片在线观看| 91蝌蚪精品视频| 国产精品久久久久久影视| 在线视频观看一区二区| 青娱乐精品在线| 欧美激情成人在线| 中文字幕亚洲欧美一区二区三区| 最新中文字幕在线播放| 一区二区三区久久精品| 国产免费一区二区三区视频| 成人动漫在线一区| 久久草在线看| 日批免费观看视频| 亚洲伊人色欲综合网| 蜜芽在线免费观看| 久久国产免费视频| 精品国产乱码久久久久久久久| 91亚洲国产精品| 成年人免费在线播放| 天天操天天操天天操天天| 1024av视频| 国产又黄又爽免费视频| 成人激情综合网站| 日韩午夜一区| 亚洲成人性视频| 美女久久久久| 制服丨自拍丨欧美丨动漫丨| 隔壁人妻偷人bd中字| 美女搞黄视频在线观看| 男人扒开美女尿口无遮挡图片| 欧美绝顶高潮抽搐喷水合集| 鲁大师成人一区二区三区| 五月天国产精品| 日韩福利二区| 日本一区二区成人在线| 精品国产综合区久久久久久|