2019面向?qū)ο笤O(shè)計(jì)原則

2019面向?qū)ο笤O(shè)計(jì)原則

ID:42173960

大小:17.61 KB

頁數(shù):6頁

時(shí)間:2019-09-09

2019面向?qū)ο笤O(shè)計(jì)原則_第1頁
2019面向?qū)ο笤O(shè)計(jì)原則_第2頁
2019面向?qū)ο笤O(shè)計(jì)原則_第3頁
2019面向?qū)ο笤O(shè)計(jì)原則_第4頁
2019面向?qū)ο笤O(shè)計(jì)原則_第5頁
資源描述:

《2019面向?qū)ο笤O(shè)計(jì)原則》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、面向?qū)ο笤O(shè)計(jì)原則  一、選擇題  1.開放-關(guān)閉原則的含義是一個(gè)軟件實(shí)體a。  應(yīng)當(dāng)對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉應(yīng)當(dāng)對(duì)修改開放,對(duì)擴(kuò)展關(guān)閉應(yīng)當(dāng)對(duì)繼承開放,對(duì)修改關(guān)閉以上都不對(duì)2.下列屬于面向?qū)ο笤O(shè)計(jì)基本原則的是(c)繼承封裝里氏代換都不是  3.對(duì)于違反里式代換原則的兩個(gè)類,可以采用的候選解決方案錯(cuò)誤的是:  A.創(chuàng)建一個(gè)新的抽象類C,作為兩個(gè)具體類的超類,將A和B共同的行為移動(dòng)到C中,從而解決A和B行為不完全一致的問題。B.將B到A的繼承關(guān)系改組成委派關(guān)系?! .區(qū)分是“IS-a”還是”Has-a”。如果是“Is-a”,可以使用繼承關(guān)系,如果是”Has-a”應(yīng)該

2、改成委派關(guān)系  D.以上方案都錯(cuò)誤  4.關(guān)于繼承表述錯(cuò)誤的是:  A.繼承是一種通過擴(kuò)展一個(gè)已有對(duì)象的實(shí)現(xiàn),從而獲得新功能的復(fù)用方法?! .泛化類可以顯式地捕獲那些公共的屬性和方法。特殊類則通過附加屬性和方法來進(jìn)行實(shí)現(xiàn)的擴(kuò)展?! .破壞了封裝性,因?yàn)檫@會(huì)將父類的實(shí)現(xiàn)細(xì)節(jié)暴露給子類。D.繼承本質(zhì)上是“白盒復(fù)用”,對(duì)父類的修改,不會(huì)影響到子類。5.對(duì)于依賴倒轉(zhuǎn)的表述錯(cuò)誤的是  A.依賴于抽象而不依賴于具體,也就是針對(duì)接口編程?! .依賴倒轉(zhuǎn)的接口并非語法意義上的接口,而是,一個(gè)類對(duì)其他對(duì)象進(jìn)行調(diào)用時(shí),所知道的方法集合。  C.從選項(xiàng)B的角度論述,一個(gè)對(duì)象可

3、以有多個(gè)接口?! .實(shí)現(xiàn)了同一接口的對(duì)象,可以在運(yùn)行期間,順利地進(jìn)行替換。而且不必知道所使用的對(duì)象是哪個(gè)實(shí)現(xiàn)類的實(shí)例?! ?.要依賴于抽象,不要依賴于具體。即針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程,是D的表述。A.開-閉原則B.接口隔離原則C.里氏代換原則D.依賴倒轉(zhuǎn)原則7.依據(jù)設(shè)計(jì)的基本原則,程序開發(fā)中應(yīng)優(yōu)先使用的是a關(guān)系實(shí)現(xiàn)復(fù)用。A,組合委派B.繼承C創(chuàng)建D.以上都不對(duì)8.“不要和陌生人說話”是D原則的通俗表述。A.接口隔離B.里氏代換C.依賴倒轉(zhuǎn)D.迪米特法則  9.面向?qū)ο蟮牧鶙l基本原則包括:開閉原則,里式替換原則,合成聚合原則、依賴倒轉(zhuǎn)、迪米特法則,以及b

4、。  單一職責(zé)原則、用戶視角原則單一職責(zé)原則、接口隔離原則接口隔離原則、易用性原則接口隔離原則、用戶視角原則10.11.  適配器模式,分為類的適配器和a的適配器兩種實(shí)現(xiàn)。對(duì)象用例接口抽象類面向?qū)ο笙到y(tǒng)中功能復(fù)用的兩種最常用技術(shù)是a。對(duì)象組合和類繼承復(fù)制和粘貼  類繼承和抽取方法對(duì)象組合和抽取方法  12.13.14.  對(duì)象適配器模式是a原則的典型應(yīng)用?! ∫罁?jù)設(shè)計(jì)模式思想,程序開發(fā)中應(yīng)優(yōu)先使用a關(guān)系實(shí)現(xiàn)復(fù)用。關(guān)于設(shè)計(jì)原則以下說法錯(cuò)誤的是a合成聚合復(fù)用原則里式代換原則依賴倒轉(zhuǎn)原則迪米特法則A組合B繼承  C創(chuàng)建  D擴(kuò)展  A依賴倒置原則是指高層模塊應(yīng)該依賴

5、于底層模塊,兩者都依賴于具體的實(shí)現(xiàn)B里氏替換是說子類的行為必須與父類的行為保持一致C單一職責(zé)原則是說只有一個(gè)可以讓其改變的原因  D迪米特法則的核心就是一個(gè)對(duì)象對(duì)其他對(duì)象有最少的了解  二、問答題  1.請(qǐng)從接口隔離原則出發(fā)分析一下“看人下菜碟兒”這個(gè)說法的意義?  看客人是誰再提供不同檔次的菜。從接口隔離原則的角度出發(fā),根據(jù)客戶需要的不同,而為不同的客戶提供不同的服務(wù)  2.在設(shè)計(jì)原則中,依賴倒置原則的主要內(nèi)容是什么?  A.高層次的模塊不應(yīng)該依賴于低層次的模塊,他們都應(yīng)該依賴于抽象。B.抽象不應(yīng)該依賴于具體實(shí)現(xiàn),具體實(shí)現(xiàn)應(yīng)該依賴于抽象?! ?.請(qǐng)舉例說明開

6、放-關(guān)閉原則是如何應(yīng)用的,并畫出相應(yīng)類圖。  4.請(qǐng)說明下面的一段代碼,違反了什么設(shè)計(jì)原則,應(yīng)如何修改。  答:違反了單一職責(zé)原則  5.請(qǐng)優(yōu)化下面的設(shè)計(jì)方案,使其能夠不依賴于具體實(shí)現(xiàn),并說明運(yùn)用了什么設(shè)計(jì)原則?! 〈穑阂蕾嚨怪迷瓌t  6.請(qǐng)說明策略模式實(shí)際上應(yīng)用了什么設(shè)計(jì)原則,并簡(jiǎn)單描述該原則的內(nèi)容。7.請(qǐng)指出下圖在設(shè)計(jì)上違反了什么原則,并給出優(yōu)化方案?! 〈穑航涌诟綦x原則  8.請(qǐng)指出下圖違反了什么設(shè)計(jì)原則,并簡(jiǎn)單描述該原則的內(nèi)容?! 〈穑阂蕾嚨怪迷瓌t  9.請(qǐng)指出下圖違反了什么設(shè)計(jì)原則,并簡(jiǎn)單描述該原則的內(nèi)容?! 〈鸬厦滋胤▌t  10.企鵝有皮毛,有翅膀

7、,會(huì)下蛋,但是不會(huì)飛行。因此企鵝是一種特殊的鳥類。請(qǐng)仔細(xì)查看下面的設(shè)計(jì)方案,請(qǐng)指出這個(gè)方案違反了什么設(shè)計(jì)原則?請(qǐng)給出修改后的方案?! ird-hasFeather-hasWings+layEgg+flyvoidfly{  //donothingPenguin}+fly  里氏替換原則(LSP)把bird中fly方法去掉  11.Sunny軟件公司開發(fā)的CRM系統(tǒng)原先可以顯示兩種類型的圖表,如餅狀圖  和柱狀圖,后來用戶希望系統(tǒng)能夠支持更多種類的圖表顯示方式,例如增加LineChart,我們應(yīng)該如何設(shè)計(jì)這個(gè)方案?請(qǐng)給出這個(gè)方案的類圖,并用文字說明該方案的合理性

8、。  通過抽象化的方式對(duì)系統(tǒng)進(jìn)行重構(gòu),

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

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

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