架構(gòu)整潔之道12-18章-自測題_第1頁
架構(gòu)整潔之道12-18章-自測題_第2頁
架構(gòu)整潔之道12-18章-自測題_第3頁
架構(gòu)整潔之道12-18章-自測題_第4頁
架構(gòu)整潔之道12-18章-自測題_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

架構(gòu)整潔之道12-18章-自測題1.關(guān)于組件結(jié)構(gòu)圖描述正確的是()[單選題]A.組件結(jié)構(gòu)圖是自上而下被設(shè)計(jì)出來的B.組件結(jié)構(gòu)圖是用來描述應(yīng)用程序功能的。C.組件結(jié)構(gòu)圖的一個(gè)重要目標(biāo)是指導(dǎo)如何隔離穩(wěn)定的部分D.設(shè)計(jì)組件結(jié)構(gòu)圖是為了便于將穩(wěn)定的高價(jià)值組件和常變的組件隔離開(正確答案)答案解析:默認(rèn)考點(diǎn)2.組件的抽象化程度衡量的因素不包含下面哪個(gè)()。[單選題]A.組件中的抽象類數(shù)量B.組件中的接口數(shù)量C.組件中的匿名類數(shù)量(正確答案)D.組件中的所有類數(shù)量答案解析:默認(rèn)考點(diǎn)3.關(guān)于組件穩(wěn)定性指標(biāo)I的描述正確的是()。[單選題]A.I=1時(shí),說明沒有組件依賴當(dāng)前組件(正確答案)B.I=1時(shí),說明該組件不依賴于其他組件C.I=0時(shí),說明沒有組件依賴當(dāng)前組件D.I=0時(shí),說明該組件依賴于其他組件答案解析:默認(rèn)考點(diǎn)4.下面哪一項(xiàng)不能體現(xiàn)了里氏替換原則(LSP)?[單選題]A.用戶行為可以依賴他所使用的類,并且這些類可以不用相互替換(正確答案)B.用戶可以調(diào)用授權(quán)L類計(jì)算授權(quán)費(fèi)用方法進(jìn)行授權(quán)付費(fèi),并且該授權(quán)類有兩個(gè)衍生類A和B,這兩個(gè)類會(huì)用不同算法來計(jì)算授權(quán)費(fèi)用,這樣是符合里氏替換原則的C.對于每個(gè)類型是S的對象o1都存在一個(gè)類型為T的對象o2,能使操作T類型的程序P在用o2替換o1時(shí)行為保持不變,可以將S稱為T的子類型D.一個(gè)軟件實(shí)體如果使用的是一個(gè)基類的話,那么一定適用于其子類,而且它根本不能察覺出基類對象和子類對象的區(qū)別答案解析:第9章里氏替換原則5.關(guān)于組件衡量抽象化程度指標(biāo)A的描述錯(cuò)誤的是()。[單選題]A.Nc表示組件中類的數(shù)量B.Na表示組件中抽象類和接口的數(shù)量C.A值為0代表組件中沒有任何抽象類D.A值為1代表組件中沒有任何抽象類(正確答案)答案解析:默認(rèn)考點(diǎn)6.組件的依賴關(guān)系必須要指向()的方向。[單選題]A.更抽象B.更易變C.更穩(wěn)定(正確答案)D.更易繼承答案解析:P1067.讓組件難于修改的一個(gè)最直接辦法就是()[單選題]A.讓組件依賴于很多其他組件B.讓組件接口化C.讓組件抽象化D.讓很多其他組件依賴(正確答案)答案解析:默認(rèn)考點(diǎn)8.以下父類方法、子類方法(或返回方法)不符合里氏替換原則的是?[單選題]A.父類方法func(HashMapmap);子類方法func(Mapmap);B.父類方法func(inta);子類方法newFunc(inta);C.父類方法publicabstractMapfun();子類方法publicHashMapfun(){};D.父類方法func(Mapmap);子類方法func(HashMapmap)(正確答案)答案解析:第9章里氏替換原則9.面向?qū)ο缶幊痰囊粋€(gè)原始初衷——()。[單選題]A.組件化B.低耦合C.高內(nèi)聚D.軟件復(fù)用(正確答案)答案解析:P9210.開閉原則的含義是一個(gè)軟件實(shí)體()[單選題]A.應(yīng)當(dāng)對修改開放,對擴(kuò)展關(guān)閉B.應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉(正確答案)C.應(yīng)當(dāng)對繼承開放,對修改關(guān)閉D.以上都不對答案解析:第8章開閉原則11.程序的規(guī)模會(huì)一直不斷地增長下去,直到將有限的()和鏈接時(shí)間填滿為止。[單選題]A.內(nèi)存B.磁盤C.編譯(正確答案)D.計(jì)算答案解析:P8912.一個(gè)組件的抽象化過程應(yīng)該與其()保持一致。[單選題]A.依賴性B.穩(wěn)定性(正確答案)C.易修改性D.接口化答案解析:P11213.組件的穩(wěn)定性應(yīng)該與變更的()有關(guān)。[單選題]A.工作量(正確答案)B.頻繁度C.難易度D.影響面答案解析:P10614.消除循環(huán)依賴的解決辦法是將研發(fā)項(xiàng)目劃分成一些()的組件,這些組件可以交由單人或者某一組程序員來獨(dú)立完成。[單選題]A.可獨(dú)立編譯的B.可插拔的C.可相互依賴的D.可單獨(dú)部署的(正確答案)答案解析:P10015.組件構(gòu)建相關(guān)的三個(gè)基本原則之間彼此存在著()關(guān)系。[單選題]A.協(xié)作B.依賴C.競爭(正確答案)D.傳遞答案解析:P9516.以下對開閉原則的描述錯(cuò)誤的是()[單選題]A.開閉原則與“對可變形的封裝原則”沒有相似性(正確答案)B.找到一個(gè)系統(tǒng)的可變元素,將它封裝起來,叫開閉原則C.對修改關(guān)閉,是其原則之一D.從抽象層導(dǎo)出一個(gè)或多個(gè)新的具體類可以改變系統(tǒng)的行為,是其原則之一答案解析:第8章開閉原則17.開閉原則的實(shí)現(xiàn)方式是()[單選題]A.先調(diào)整各類之間的依賴關(guān)系,再對各類進(jìn)行分組(SRP)B.通過分析系統(tǒng)之間的依賴關(guān)系,抽離公共的邏輯,所有修改集中在一個(gè)范圍中,使得其它邏輯不需要進(jìn)行修改C.通過將系統(tǒng)劃分為一系列組件,并且將這些組件間的依賴關(guān)系按層次結(jié)構(gòu)進(jìn)行組織,使得高階組件不會(huì)因低階組件被修改而受到影響(正確答案)D.以上都不對答案解析:第8章開閉原則18.以下對構(gòu)建組件相關(guān)的基本原則描述錯(cuò)誤的是()。[單選題]A.軟件復(fù)用的最小粒度應(yīng)等同于其發(fā)布的最小粒度B.將由于不同原因而修改,并且需要同時(shí)修改的東西放在一個(gè)組件中(正確答案)C.一個(gè)組件的用戶不應(yīng)該依賴他們不需要的東西D.不是緊密相連的類不應(yīng)該被放在同一個(gè)組件里答案解析:P9219.關(guān)于組件的描述正確的是()。[單選題]A.組件是軟件的基本開發(fā)單元,整個(gè)軟件系統(tǒng)由多個(gè)組件拼接而成B.可以將多個(gè)組件鏈接成一個(gè)獨(dú)立可執(zhí)行的文件(正確答案)C.在編譯運(yùn)行語言中,組件是一組源代碼文件的集合D.在解釋性語言中,組件是一組二進(jìn)制文件的集合答案解析:默認(rèn)考點(diǎn)20.為了消除循環(huán)依賴,我們可以采取的方法是()。[單選題]A.采用共同閉包原則B.采用共同復(fù)用原則C.采用依賴反轉(zhuǎn)原則(正確答案)D.創(chuàng)建一個(gè)繼承組件答案解析:默認(rèn)考點(diǎn)21.OCP是我們進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)的主導(dǎo)原則,其主要目標(biāo)是()[單選題]A.讓系統(tǒng)易于擴(kuò)展,同時(shí)限制其每次被修改所影響的范圍(正確答案)B.所有功能組件化C.便于代碼的修改,同時(shí)不增加新的子類D.以上都不是答案解析:第8章開閉原則22.設(shè)計(jì)模式六大原則中,接口隔離原則的簡稱是哪個(gè)?[單選題]A.OCPB.LSPC.ISP(正確答案)D.DIP答案解析:第10章接口隔離原則23.組件的穩(wěn)定性和抽象化程度I/A圖中,對于無用區(qū)的組件描述正確的是()[單選題]A.無限抽象的(正確答案)B.易于使用的C.被其他組件依賴D.靠近(0,0)附件的答案解析:默認(rèn)考點(diǎn)24.關(guān)于接口隔離原則,以下敘述有誤的是()[單選題]A.在系統(tǒng)設(shè)計(jì)時(shí),客戶端不應(yīng)該依賴那些它不需要的接口B.當(dāng)一個(gè)接口太大時(shí),需要將它分割成一些更細(xì)小的接口,使用該接口的客戶端類僅需知道與之相關(guān)的方法即可C.接口應(yīng)該盡量細(xì)化,同時(shí)接口中的方法應(yīng)該盡可能少,理想情況下是在每個(gè)接口中只定義一個(gè)方法,該接口使用起來最為方便(正確答案)D.一個(gè)接口只代表一個(gè)角色,每個(gè)角色都有它特定的一個(gè)接口答案解析:第10章接口隔離原則25.組件的穩(wěn)定性和抽象化程度I/A圖中,對于痛苦區(qū)的組件描述正確的是()[單選題]A.特別難于修改(正確答案)B.往往無法使用C.抽象的D.不穩(wěn)定的答案解析:默認(rèn)考點(diǎn)26.REP原則就是指組件中的類和()必須是緊密相關(guān)的。[單選題]A.方法B.屬性C.模塊(正確答案)D.子類答案解析:P9227.軟件的復(fù)用的最小粒度應(yīng)等同于其()的最小粒度.[單選題]A.編譯B.解釋C.發(fā)布(正確答案)D.打包答案解析:P9228.以下哪一項(xiàng)不能體現(xiàn)里氏替換原則四層含義?[單選題]A.子類必須完全實(shí)現(xiàn)父類的方法B.子類不能有自己的個(gè)性(正確答案)C.覆蓋或?qū)崿F(xiàn)父類的方法時(shí),輸入?yún)?shù)可以被放大D.覆寫或?qū)崿F(xiàn)父類的方法時(shí)輸出結(jié)果可以被縮小答案解析:第9章里氏替換原則29.組件穩(wěn)定性指標(biāo)I=1的組件是()。[單選題]A.負(fù)責(zé)的B.不對外依賴的C.不負(fù)責(zé)的(正確答案)D.最穩(wěn)定的答案解析:默認(rèn)考點(diǎn)30.關(guān)于軟件架構(gòu)下述描述正確的是A.軟件架構(gòu)設(shè)計(jì)的主要目標(biāo)是支撐軟件系統(tǒng)的全生命周期(正確答案)B.設(shè)計(jì)良好的架構(gòu)可以讓系統(tǒng)便于理解,易于修改,方便維護(hù),并且能輕松部署(正確答案)C.軟件架構(gòu)的終極目標(biāo)就是最大化程序員的生產(chǎn)力,同時(shí)最小化系統(tǒng)的總運(yùn)營成本(正確答案)D.一個(gè)軟件系統(tǒng)的架構(gòu)質(zhì)量跟該系統(tǒng)是否能正常息息相關(guān)答案解析:默認(rèn)考點(diǎn)31.一個(gè)良好的軟件架構(gòu)必須支持以下幾點(diǎn)A.系統(tǒng)的用例與正常運(yùn)行(正確答案)B.系統(tǒng)的維護(hù)(正確答案)C.系統(tǒng)的開發(fā)(正確答案)D.系統(tǒng)的部署(正確答案)答案解析:默認(rèn)考點(diǎn)32.軟件組件的變更困難度與很多因素有關(guān),包括()A.代碼的體積大小(正確答案)B.復(fù)雜度(正確答案)C.清晰度(正確答案)D.入向依賴(正確答案)E.出向依賴(正確答案)答案解析:P10633.所有的軟件系統(tǒng)都可以降解為策略與細(xì)節(jié)這兩種主要元素,下面哪些屬于細(xì)節(jié)A.I/O設(shè)備(正確答案)B.數(shù)據(jù)庫(正確答案)C.WEB系統(tǒng)(正確答案)D.交互協(xié)議(正確答案)答案解析:默認(rèn)考點(diǎn)34.一個(gè)良好的軟件架構(gòu)應(yīng)該充分地權(quán)衡用例、維護(hù)、開發(fā)和部署,要實(shí)現(xiàn)這種平衡是很困難的,主要原因有哪些?A.我們大部分時(shí)間里是無法預(yù)知系統(tǒng)的所有用例的(正確答案)B.我們也無法預(yù)知系統(tǒng)的運(yùn)行條件、開發(fā)團(tuán)隊(duì)的結(jié)構(gòu)或系統(tǒng)的部署需求(正確答案)C.我們提前了解這些需求,隨著系統(tǒng)生命周期的演進(jìn),這些需求也會(huì)不可避免的發(fā)生變化(正確答案)D.我們要達(dá)到的目標(biāo)本身就是模糊多變的(正確答案)答案解析:默認(rèn)考點(diǎn)35.組件可以被打包成以下哪些格式的文件獨(dú)立部署()A..war(正確答案)B..exe(正確答案)C..rcsD..cE..dll(正確答案)答案解析:P8536.關(guān)于邊界線的劃分下述描述錯(cuò)誤的是A.邊界線應(yīng)該沿著系統(tǒng)的變更軸來畫(正確答案)B.位于邊界線兩側(cè)的組件應(yīng)該以不同原因、不同速率變化著(正確答案)C.SRP的作用就是告訴我們應(yīng)該在哪里畫邊界線(正確答案)D.一個(gè)系統(tǒng)的業(yè)務(wù)邏輯與依賴注入框架之間的變更原因和變更速度不同,所以它們之間應(yīng)該畫邊界線(正確答案)答案解析:默認(rèn)考點(diǎn)37.組件的發(fā)布過程中必須產(chǎn)生適當(dāng)?shù)模ǎ?,以便讓它的用戶根?jù)這些信息做出有效的升級(jí)決策。A.版本號(hào)B.變更內(nèi)容說明C.通知(正確答案)D.發(fā)布文檔(正確答案)E.修復(fù)問題答案解析:P9238.下面哪些是常用的解耦模式A.源碼層次上的解耦(正確答案)B.二進(jìn)制層次上的解耦(正確答案)C.執(zhí)行單元層次上的解耦(正確答案)D.基于線程上的解耦(正確答案)答案解析:默認(rèn)考點(diǎn)39.針對多個(gè)程序員同時(shí)修改了同一個(gè)源代碼文件導(dǎo)致組件不能正常工作,有以下哪些方案可以解決()A.持續(xù)集成B.重構(gòu)代碼C.每周構(gòu)建(正確答案)D.無依賴環(huán)原則(正確答案)答案解析:P9940.打破組件中的循環(huán)依賴,并將其依賴圖轉(zhuǎn)換為DAG。目前采用的主要機(jī)制有()A.單一職責(zé)原則B.應(yīng)用依賴反轉(zhuǎn)原則(正確答案)C.開閉原則D.創(chuàng)建新組件(正確答案)E.繼承原則答案解析:P10341.里氏替換原則四層含義包含以下哪些?A.子類可以實(shí)現(xiàn)父類的抽象方法,但是不能覆蓋父類的非抽象方法(正確答案)B.子類中可以增加自己特有的方法(正確答案)C.當(dāng)子類覆蓋或?qū)崿F(xiàn)父類的方法時(shí),方法的前置條件(即方法的形參)要比父類方法的輸入?yún)?shù)更寬松(正確答案)D.當(dāng)子類的方法實(shí)現(xiàn)父類的抽象方法時(shí),方法的后置條件(即方法的返回值)要比父類更嚴(yán)格(正確答案)答案解析:第9章里氏替換原則42.下面關(guān)于組件的穩(wěn)定性I和抽象化程度A之間的關(guān)系I/A圖描述正確的是()A.I/A圖中最穩(wěn)定的,包含了無效抽象類的組件位于左上角(0,1)(正確答案)B.I/A圖中最不穩(wěn)定的,最具體的組件位于左上角(1,0)(正確答案)C.I/A圖中(0,0)周圍的區(qū)域被稱為無用區(qū)D.I/A圖中(1,1)周圍的區(qū)域被稱為痛苦區(qū)E.I/A圖中(1,0)連接到(0,1)的一條線,我們稱之為主序列線(正確答案)答案解析:默認(rèn)考點(diǎn)43.關(guān)于組件穩(wěn)定性指標(biāo)的描述正確的有哪些()A.入向依賴指標(biāo)指代了組件外部類依賴于組件內(nèi)部類的數(shù)量(正確答案)B.出向依賴指標(biāo)指代了組件內(nèi)部類依賴組件外部類的數(shù)量(正確答案)C.不穩(wěn)定性I=0意味著組件是最穩(wěn)定的(正確答案)D.不穩(wěn)定性I=1意味著組件是最穩(wěn)定的答案解析:默認(rèn)考點(diǎn)44.實(shí)現(xiàn)接口隔離原則的方法A.將接口劃分為更小的、更具體的接口,每個(gè)接口只包含客戶端所需的方法(正確答案)B.使用基類的地方必須使用子類進(jìn)行替換C.使用依賴注入(正確答案)D.使用適配器模式(正確答案)答案解析:第10章接口隔離原則45.與構(gòu)建組件相關(guān)的基本原則包括()A.復(fù)用/發(fā)布等同原則(正確答案)B.共同閉包原則(正確答案)C.單一職責(zé)原則D.共同復(fù)用原則(正確答案)E.開閉原則答案解析:P9246.關(guān)于組件衡量抽象化程度的描述正確的有哪些()A.組件抽象化程度衡量指標(biāo)的值是組件中抽象類與接口所占的比列(正確答案)B.組件抽象化程度衡量指標(biāo)的值的取值范圍是從0到1(正確答案)C.值0代表組件中沒有任何抽象類(正確答案)D.值1代表組件中只有抽象類(正確答案)答案解析:默認(rèn)考點(diǎn)47.使用接口隔離原則可以帶來許多好處A.降低耦合度(正確答案)B.提高靈活性(正確答案)C.增強(qiáng)可維護(hù)性(正確答案)D.提高代碼復(fù)用性(正確答案)答案解析:第10章接口隔離原則48.關(guān)于跨邊界調(diào)用下述描述正確的是A.最簡單的跨邊界調(diào)用形式是由低層客戶端來調(diào)用高層服務(wù)函數(shù),這種依賴關(guān)系在運(yùn)行時(shí)和編譯時(shí)會(huì)保持指向一致,都是從低層組件指向高層組件(正確答案)B.高層組件中的客戶端需要調(diào)用低層組件中服務(wù)時(shí),我們需要運(yùn)用動(dòng)態(tài)形式的多態(tài)來反轉(zhuǎn)依賴關(guān)系。(正確答案)C.最簡單的跨邊界調(diào)用形式是由高層客戶端來調(diào)用低層服務(wù)函數(shù),這種依賴關(guān)系在運(yùn)行時(shí)和編譯時(shí)會(huì)保持指向一致,都是從高層組件指向低層組件D.高層組件中的客戶端需要調(diào)用低層組件中服務(wù)時(shí),我們不需要運(yùn)用動(dòng)態(tài)形式的多態(tài)來反轉(zhuǎn)依賴關(guān)系。答案解析:默認(rèn)考點(diǎn)49.組件耦合相關(guān)的重要原則包括()A.依賴反轉(zhuǎn)原則B.無依賴環(huán)原則(正確答案)C.穩(wěn)定依賴原則(正確答案)D.接口隔離原則E.穩(wěn)定抽象原則(正確答案)答案解析:P99-P11250.系統(tǒng)架構(gòu)有一個(gè)更明顯的物理邊界形式是本地線程[判斷題]對錯(cuò)(正確答案)答案解析:默認(rèn)考點(diǎn)51.通過一個(gè)系統(tǒng)會(huì)同時(shí)包含高通信量、低延遲的服務(wù)邊界和低通信量、高延遲的本地架構(gòu)邊界[判斷題]對(正確答案)錯(cuò)答案解析:默認(rèn)考點(diǎn)52.我們設(shè)計(jì)組件架構(gòu)圖的目的就是要決定所有組件都應(yīng)該保持穩(wěn)定狀態(tài)。[判斷題]對錯(cuò)(正確答案)答案解析:P10953.組件是軟件的部署單元,是整個(gè)軟件系統(tǒng)在編譯過程中可以獨(dú)立完成編譯的最小實(shí)體[判斷題]對錯(cuò)(正確答案)答案解析:P8554.軟件架構(gòu)本身就是一門劃分邊界的藝術(shù),邊界的作用是將軟件分割成各種元素,以便約束邊界兩

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論