面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔

面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔

ID:1353423

大?。?.32 MB

頁數(shù):87頁

時間:2017-11-10

面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔_第1頁
面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔_第2頁
面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔_第3頁
面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔_第4頁
面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔_第5頁
資源描述:

《面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔面向?qū)ο蠡A(chǔ)1.面向?qū)ο缶幊痰娜笤瓌t封裝、繼承、多態(tài)2.對象世界協(xié)作模式----客戶-提供者消息協(xié)作模式一、現(xiàn)實中的消息協(xié)作模式:面向?qū)ο蟪绦虻倪\行,是對現(xiàn)實世界中對象與對象的協(xié)作方式的模擬。在現(xiàn)實世界中,消息的發(fā)送方與消息的接收方,針對消息而言是地位平等的雙方。如下場景1:A希望獲知B的姓名在這個場景中,針對于A希望獲知B的姓名而互發(fā)的消息,可能會出現(xiàn)上述三種現(xiàn)象。1.A問,B答2.A問,B不答(問而不答型)3.A不問,B主動告知。(不問自答型)再如下述場景2:A希望B去做飯。87同樣存在場景1中存在的現(xiàn)象。

2、1.A請求B做事情,B做事情2.A請求B做事情,B不做(叫做不做型)3.A不請求B做事情,B主動做事情。(不請自做型)在兩個場景中的現(xiàn)象2和現(xiàn)象3都體現(xiàn)了A、B雙方作為現(xiàn)實世界中的人的行為的自主性。這些現(xiàn)象是現(xiàn)實中協(xié)作的普遍現(xiàn)象,A、B對象的協(xié)作,其中B的自主動作摻雜了B對A的心理琢磨。B認(rèn)為A可能會問其什么,或認(rèn)為A可能會讓其做某事,但B這種基于猜測的行為可能使結(jié)果適得其反,使本不應(yīng)該發(fā)生的麻煩事情發(fā)生,從而使事情處理流程變得更糟。開發(fā)計算機(jī)軟件系統(tǒng)的目的,是為了使事情的處理流程自動化,如果處理流程本身是個紊亂的話,那么計算機(jī)軟件系統(tǒng)只

3、能加速這種紊亂,因此,在面向?qū)ο蟪绦蚰M現(xiàn)實世界的消息協(xié)作時,采用消息發(fā)送方與消息接收方地位不平等的客戶-提供者模式來完成協(xié)作。二、客戶-提供者消息協(xié)作模式前提:B擁有A所問問題的知識;B具有A所請求事情的處理能力。但是A不問時,B不主動回答;A不請求B做事情,B不主動做事情。也即,只有當(dāng)A作為客戶,請求B回答問題時,B作為提供者,提供回答問題的服務(wù);只有當(dāng)A作為客戶,請求B做事情時,B作為提供者,提供解決這件事情的服務(wù)。B不允許主觀去回答問題或主觀地做事情。這種屏蔽了B的主觀能動性的協(xié)作方式稱為客戶-提供者模式。這樣的處理方式,解決了A

4、,B消息協(xié)作時自主處理事務(wù)的方式,從而使消息協(xié)作變得可控。三、客戶-提供者消息協(xié)作中的約束(1)協(xié)作的前提服務(wù)提供者B擁有客戶A所問問題的知識;B具有A所請求事情的處理能力。(2)對客戶的約束客戶端對象,作為消息的發(fā)送者,作為服務(wù)的請求者,不應(yīng)該發(fā)送無理的請求,無理的請求指:服務(wù)提供者不具備的行為能力。87客戶端對象A只能向服務(wù)端對象B發(fā)出兩種類型的消息:消息應(yīng)該是一個問題,或者一個命令,不能兩者都是。(3)對服務(wù)提供者的約束消息對應(yīng)行為的執(zhí)行者,即,服務(wù)提供者。在面向?qū)ο蟪绦蛑?,服?wù)提供者應(yīng)該是謙恭的,當(dāng)接收消息時,必須提供相應(yīng)的服務(wù),

5、四、實例:1.顧客到面包店買面包的場景方式1:現(xiàn)實中的場景反映:可見,由于面包師的自動行為使得事情變得很糟。現(xiàn)在,通過客戶-提供者模式來實現(xiàn)這個場景:方式2:可見,客戶-提供者模式有效地解決了因?qū)ο笞灾餍袨槎鴮?dǎo)致的業(yè)務(wù)流程的紊亂過程,使得業(yè)務(wù)處理過程可控,因此,在面向?qū)ο蟪绦蚰M現(xiàn)實對象消息協(xié)作機(jī)制中,客戶-提供者模式給我們提供了很好的消息協(xié)作模式,這種方式屏蔽了現(xiàn)實世界對象的自主行為,使得面向?qū)ο笙到y(tǒng)秩序穩(wěn)定,和諧可控,構(gòu)建了一個完美的軟件系統(tǒng)。871.類與類之間的關(guān)系及代碼實現(xiàn)類與類之間的關(guān)系及代碼表現(xiàn) http://wenku.ba

6、idu.com/view/53fdfa75a417866fb84a8ed4.html 解析UML中類與類之間的五種關(guān)系類與類之間的關(guān)系,其實質(zhì)就是類的對象與類的對象之間的關(guān)系。對象與對象之間的關(guān)系就是提供服務(wù)與接受服務(wù)的關(guān)系。根據(jù)對象與對象之間的服務(wù)關(guān)系存在時間的長短,可以確定類與類之間的關(guān)系。通常把類與類之間的關(guān)系分為如下五種關(guān)系,分別是:泛化關(guān)系、依賴關(guān)系、關(guān)聯(lián)關(guān)系、聚合關(guān)系和組合關(guān)系。本講將通過男人、女人、丈夫、妻子、一夜情人、情人、房子、家和孩子這樣一個完整的例子來說明這五種關(guān)系。一、泛化關(guān)系1.泛化關(guān)系的理解泛化關(guān)系常與繼承關(guān)系

7、相提并論,繼承關(guān)系指子類繼承父類的屬性和行為;泛化關(guān)系則是指將子類的共同屬性和行為提取出來,形成更一般的概念,子類相對于一般化概念來講就是特殊概念。特殊與一般之間的關(guān)系就是泛化關(guān)系。反過來,由一般到特殊的關(guān)系就是繼承關(guān)系。所以,也講泛化關(guān)系表示類與類之間的繼承關(guān)系,接口與接口之間的繼承關(guān)系,或類對接口的實現(xiàn)關(guān)系。一般化的關(guān)系,即,泛化關(guān)系是從子類指向父類,與繼承或?qū)崿F(xiàn)的方法相反。泛化關(guān)系是一種存在于一般概念與特殊概念之間的分類關(guān)系,它只使用在類型上,而不是實例上。2.泛化關(guān)系的UML表示方法泛化關(guān)系中對應(yīng)于一般概念的類被稱為超類或父類,而

8、特殊概念的類被稱為子類。在UML中,泛化關(guān)系用一條從子類指向父類的空心三角形箭頭來表示。下圖表示了丈夫與男人之間的泛化關(guān)系,以及一夜情人、情人和妻人與女人之間的泛化關(guān)系。3.泛化關(guān)系的代碼實現(xiàn)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。