2024架構(gòu)整潔之道理論考核試題及答案_第1頁
2024架構(gòu)整潔之道理論考核試題及答案_第2頁
2024架構(gòu)整潔之道理論考核試題及答案_第3頁
2024架構(gòu)整潔之道理論考核試題及答案_第4頁
2024架構(gòu)整潔之道理論考核試題及答案_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

架構(gòu)整潔之道理論考核試題

一、選擇題

1.為了避免多人為了不同的目標(biāo)修改同一份源代碼,我們應(yīng)該采取哪種方法()[單選題]

A、不復(fù)用別人的代碼,自己重新寫T分

B、將服務(wù)不同行為者的代碼進行切分V

C、鎖定文件,不讓其他人修改

D、誰最后修改了代碼誰負(fù)責(zé)

2.將服務(wù)不同行為者的代碼進行切分的方法,以下說法錯誤的是()[單選題]

A、將數(shù)據(jù)與函數(shù)分離

B、使用facade(外觀)模式

C、將重要的函數(shù)留在類中,同時使用這個類調(diào)用其他沒那么重要的函數(shù)

D、每個開發(fā)人員寫自己的類,互不影響V

3.SRP原則是什么原則()[單選題]

A、單一職責(zé)原則V

B、開閉原則

C、里氏替換原則

D、接口隔離原則

4.0CP原則是什么原則()[單選題]

A、單一職責(zé)原則

B、開閉原則V

C、里氏替換原則

D、接口隔離原則

5.LSP原則是什么原則()[單選題]

A、單一職責(zé)原則

B、開閉原則

C、里氏替換原則V

D、接口隔離原則

6.ISP原則是什么原則()[單選題]

A、單一職責(zé)原則

B、開閉原則

C、里氏替換原則

D、接口隔離原則V

7.DIP原則是什么原則()[單選題]

A、單一職責(zé)原則

B、開閉原則

C、里氏替換原則

D、接口隔離原則

E、依賴反轉(zhuǎn)原則V

8.一個好的架構(gòu)在新增功能時應(yīng)該將舊代碼的修改需求量降至最小,我們首先應(yīng)該做的是()[單選題]

A、將不同需求的代碼分組V

B、調(diào)整不同分組代碼的依賴關(guān)系

C、抽象業(yè)務(wù)接口,實現(xiàn)不同的子類

D、設(shè)計數(shù)據(jù)表結(jié)構(gòu)

9.如果A,B組件存在依賴關(guān)系,A組件不想被B組件上發(fā)生的修改所影響,應(yīng)該()[單選題]

A、應(yīng)該讓A組件依賴于B組件

B、應(yīng)該讓B組件依賴于A組件V

C、應(yīng)該讓A,B組件相互依賴

D、切斷A,B組件的依賴關(guān)系

10.在系統(tǒng)架構(gòu)中,最符合OCP(開閉)原則的是()[單選題]

A、Controller(控制)層

B、Service(服務(wù))層

C、View(展示)層

D、Interface層V

11.假設(shè)有一個L類,該類有個calcFee方法由Billing類調(diào)用,L類有兩個子類分別實現(xiàn)了calcFee方

法,上述設(shè)計符合什么設(shè)計原則[單選題]

A、單一職責(zé)原則

B、開閉原則

C、里氏替換原則V

D、接口隔離原則

12有一個矩形類L存在setH,setW兩個方法,他有一個正方形子類S存在一個setSide方法,該設(shè)

計違反了哪個設(shè)計原則()[單選題]

A、單一職責(zé)原則

B、開閉原則

C、里氏替換原則V

D、接口隔離原則

13.LSP可以且應(yīng)該被應(yīng)用與軟件架構(gòu)層面,因為一旦違背了()性,該系統(tǒng)架構(gòu)就不得不為此增添大

量復(fù)雜的應(yīng)對機制[單選題]

A、可替代性V

B、依賴性

C、隔離性

D、唯一性

14.任何層次的軟件設(shè)計如果依賴于不需要的東西,就會帶來意料之外的麻煩,屬于()設(shè)計原則[單選

題]

A、單一職責(zé)原則

B、開閉原則

C、里氏替換原則

D、接口隔離原則,

15.對于那個語言來說需要程序員顯式的import,use或include其功能所需要的源代碼[單選題]

A、javaV

B、ruby

C、python

D、JavaScript

16QCP使我們進行系統(tǒng)架構(gòu)設(shè)計的主導(dǎo)原則,目標(biāo)是讓系統(tǒng)()[單選題]

A、易于擴展V

B、組件分離

C、依賴控制

D、接口隔離

17.0CP設(shè)計實現(xiàn)方式不包括一下哪個()[單選題]

A、將系統(tǒng)劃分為一系列組件

B、將組件間的依賴關(guān)系按層次結(jié)構(gòu)進行組織

C、高階組件不會因為低階組件被修改而受影響

D、設(shè)計組件的可替換性V

18.依賴反轉(zhuǎn)原則告訴我們,如果想設(shè)計一個靈活的系統(tǒng),在源碼層次的依賴關(guān)系中應(yīng)該()[單選題]

A、引用抽象類型V

B、引用具體實現(xiàn)

C、引用其他工具類

D、寫高質(zhì)量代碼

19.如果想要在軟件架構(gòu)上追求穩(wěn)定,就必須多使用穩(wěn)定的抽象接口,少依賴多變的具體實現(xiàn)類,以下

說法不正確的是[單選題]

A、應(yīng)在代碼中多使用抽象接口,避免使用那些多變的具體實現(xiàn)

B、不要在具體實現(xiàn)類上創(chuàng)建衍生類

C、不要覆蓋包含具體實現(xiàn)的函數(shù)

D、以上均不正確,

20.設(shè)計良好的計算機軟件應(yīng)該()擴展,同時()修改。[單選題]

A、利于、避免

B、利于、抗拒

C、易于、避免

D、易于、抗拒V

21.()的出現(xiàn)使得插件式架構(gòu)可以在任何地方被安全的使用[單選題]

A、結(jié)構(gòu)化編程

B、面向?qū)ο缶幊蘓

C、函數(shù)式編程

D、響應(yīng)式編程

22.下列需求開發(fā)過程中的觀念正確的是()[單選題]

A、我們可以未來再重構(gòu)代碼,產(chǎn)品上線最重要

B、在工程中容忍糟糕的代碼存在可以短期內(nèi)加快該工程上線的速度,未來這些代碼會造成一些額外的

工作量但是并沒有什么大不了

C、對于一個亂麻系統(tǒng)挽救的唯一辦法就是拋棄現(xiàn)有系統(tǒng),設(shè)計T全新的系統(tǒng)來替代

D、采用循規(guī)蹈矩的方式編寫代碼V

23.軟件系統(tǒng)應(yīng)該容易被修改,體現(xiàn)的是下列哪個價值[單選題]

A、行為價值

B、架構(gòu)價值V

C、產(chǎn)品價值

D、程序員價值

24.結(jié)構(gòu)化編程對程序控制權(quán)的()進行了限制和規(guī)范[單選題]

A、間接轉(zhuǎn)移

B、強制轉(zhuǎn)移

C、直接轉(zhuǎn)移V

D、獲取

25.面向?qū)ο缶幊虒Τ绦蚩刂茩?quán)的()進行了限制和規(guī)范[單選題]

A、間接轉(zhuǎn)移V

B、強制轉(zhuǎn)移

C、直接轉(zhuǎn)移

D、獲取

26.函數(shù)式編程對程序中的()進行限制和規(guī)范[單選題]

A、賦值V

B、轉(zhuǎn)移

G賺

D、返回

27.()是我們跨越架構(gòu)邊界的手段[單選題]

A、封裝

B、繼承

C、多態(tài)V

D、面向?qū)ο缶幊?/p>

28.()是我們規(guī)范和限制數(shù)據(jù)存放位置和訪問權(quán)限的手段[單選題]

A、結(jié)構(gòu)化編程

B、面向?qū)ο缶幊?/p>

C、函數(shù)式編程V

D、響應(yīng)式編程

29.()是各模塊的算法實現(xiàn)基礎(chǔ)[單選題]

A、面向?qū)ο缶幊?/p>

B、結(jié)構(gòu)化編程V

C、函數(shù)式編程

D、響應(yīng)式編程

30.結(jié)構(gòu)化編程范式可將()遞歸降解拆分為可推導(dǎo)的單元[單選題]

A、程序

B、類

C、函數(shù)

D、模塊V

31.結(jié)構(gòu)化編程范式最有價值的地方就是,它賦予了我們創(chuàng)造()的能力[單選題]

A、可證明程序單元

B、最簡潔代碼

C、可證偽程序單元V

D、最直觀代碼

32.()就是以多態(tài)為手段來對源代碼中的依賴關(guān)系進行控制的能力,這種能力讓軟件架構(gòu)何以構(gòu)建

出某種插件式架構(gòu)[單選題]

A、結(jié)構(gòu)化編程

B、面向?qū)ο缶幊蘓

C、函數(shù)式編程

D、響應(yīng)式編程

33.()的變量是不可變的[單選題]

A、結(jié)構(gòu)化編程

B、面向?qū)ο缶幊?/p>

C、函數(shù)式編程V

D、響應(yīng)式編程

34.一個架構(gòu)設(shè)計良好的應(yīng)用程序應(yīng)該將狀態(tài)修改的部分和不需要修改狀態(tài)的部分隔離成單獨的(),

然后用合適的機制來保護可變量[單選題]

A、類

B、函數(shù)

C、模塊

D、組件V

35.軟件架構(gòu)師應(yīng)該著力于將大部分處理邏輯都?xì)w于不可變組件中,可變狀態(tài)組件的邏輯應(yīng)該()[單選

題]

A、越多越好

B、越少越好V

C、越靈活越好

D、越簡單越好

36.C語言是下面哪種類型的編程語言[單選題]

A、面向?qū)ο缶幊?/p>

B、結(jié)構(gòu)化編程V

C、函數(shù)式編程

D、響應(yīng)式編程

37.下列哪項體現(xiàn)了依賴反轉(zhuǎn)的思想[單選題]

A、某適配對象依賴于適配器接口的抽象V

B、業(yè)務(wù)服務(wù)調(diào)用數(shù)據(jù)庫組件

C、業(yè)務(wù)服務(wù)依賴公共基礎(chǔ)模塊

D、高層函數(shù)調(diào)用中層函數(shù)

38.面向?qū)ο缶幊淌且裕ǎ槭侄蝸韺υ创a中的依賴關(guān)系進行控制[單選題]

A、封裝

B、繼承

C、多態(tài)V

D、依賴反轉(zhuǎn)

39.LISP是下列哪種編程語言[單選題]

A、結(jié)構(gòu)化編程

B、面向?qū)ο缶幊?/p>

C、函數(shù)式編程V

D、響應(yīng)式編程

40JAVA中某個父類統(tǒng)一操作或方法在不同對象實例上具有不同的行為,體現(xiàn)的是[單選題]

A、多態(tài)V

B、繼承

C、封裝

D、依賴反轉(zhuǎn)

41.關(guān)于編程范式,以下說法不正確的是()[單選題]

A、結(jié)構(gòu)化編程是對程序控制權(quán)直接轉(zhuǎn)移的限制

B、面向?qū)ο缶幊淌菍Τ绦蚩刂茩?quán)間接轉(zhuǎn)移的控制

C、函數(shù)式編程是對程序中賦值操作的限制

D、面向?qū)ο缶幊淌菍Τ绦蚩刂茩?quán)直接轉(zhuǎn)移的控制V

42.關(guān)于設(shè)計和架構(gòu),以下說法正確的是()[單選題]

A、我們可以未來再重構(gòu)代碼,產(chǎn)品上線最重要

B、在工程中可以容忍少許的糟糕代碼

C、要想跑得快,先要跑的穩(wěn),

D、循規(guī)蹈矩的工作速度長遠(yuǎn)來看比胡編亂寫的速度會慢

43.軟件架構(gòu)的終極目的是()[單選題]

A、用最小的人力成本來滿足構(gòu)建和維護該系統(tǒng)的需求V

B、在開始研發(fā)一個產(chǎn)品之前就能確定軟件設(shè)計過程中的所有細(xì)節(jié)

C、用最少的人力和時間成本完成一個產(chǎn)品的交付

D、使當(dāng)前軟件的系統(tǒng)架構(gòu)在行業(yè)內(nèi)處于領(lǐng)先水平

44.關(guān)于軟件系統(tǒng)的價值維度,以下說法不正確的是()[單選題]

A、系統(tǒng)行為緊急不重要

B、架構(gòu)行為重要不緊急

C、程序員的工作就是編寫程序,給用戶創(chuàng)造或者提高利潤

D、軟件變更的難度應(yīng)該和變更的具體形狀成等比關(guān)系V

45.軟件開發(fā)過程中常常發(fā)生系統(tǒng)架構(gòu)和系統(tǒng)功能行為相沖突,()來平衡這兩件事的緊急程度?[單選

A、部門主管或更上級領(lǐng)導(dǎo)

B、產(chǎn)品經(jīng)理或項目經(jīng)理

C、最終用戶

D、研發(fā)人員V

46.某項目組在開發(fā)一款軟件過程中,忽略了軟件架構(gòu)的價值,導(dǎo)致最終交付系統(tǒng)幾乎無法更改和維護。

總結(jié)經(jīng)驗和教訓(xùn)時,應(yīng)該判定是()需要改進[單選題]

A、測試

B、軟件開發(fā)V

C、需求方

D、產(chǎn)品經(jīng)理或項目經(jīng)理

47.究竟什么是面向?qū)ο??以下說話比較貼切的是()[單選題]

A、是一種對真實世界進行建模的方式

B、數(shù)據(jù)與函數(shù)的組合

C、是封裝、繼承、多態(tài)的有機組合。

D、以多態(tài)的手段來對源代碼中的依賴關(guān)系進行控制的能力

48.我們可以用三種結(jié)構(gòu)構(gòu)造出任何程序,這三種結(jié)構(gòu)不包含哪種()[單選題]

A、遞歸結(jié)構(gòu)V

B、順序結(jié)構(gòu)

C、循環(huán)結(jié)構(gòu)

D、分支結(jié)構(gòu)

49.結(jié)構(gòu)化編程賦予了我們創(chuàng)造可證偽程序單元的能力,()仍然是結(jié)構(gòu)化編程的最佳實踐之一[單選題]

A、推導(dǎo)

B、功能性降解拆分V

C、多態(tài)

D、繼承

50.在《架構(gòu)整潔之道》這本書中,DIP是以下哪個選項的縮寫?[單選題]

A、DependencylnjectionPrinciple

B、DigitallntegrationPlatform

C、DependencylnversionPrincipleV

D、DocumentlmageProcessing

51.以下符合依賴反轉(zhuǎn)原則(DIP)做法的是?[單選題]

A、因為類中字段沒有提供set方法,使用反射修改這個字段的值

B、兩個類C1.C2存在相互依賴,抽象出IC1,IC2接口,使得C1,C2分別依賴于IC1JC2接口,而不

相互依賴V

C、系統(tǒng)新增一個功能與現(xiàn)有類C1的功能類似,通過繼承類C1,減少重復(fù)代碼

D、在代碼中將對象強制轉(zhuǎn)換成實際類型的對象,從而取得對對象更多的控制

52.以下哪種生活/工作場景,與依賴反轉(zhuǎn)原則(DIP)具有相似性[單選題]

A、領(lǐng)導(dǎo)將任務(wù)交代給一個團隊來完成,而不是指定團隊中的某個人來完成V

B、"如果我這邊信息有變動,我會主動通知到您"

C、將專業(yè)的事情交給專業(yè)的人負(fù)責(zé)

D、外部對接部門行政事務(wù)負(fù)責(zé)人,然后由部門負(fù)責(zé)人去對接內(nèi)部人員

53.運用依賴反轉(zhuǎn)原則(DIP)的原因是[單選題]

A、接口或抽象類一般比其實現(xiàn)類更穩(wěn)定V

B、實現(xiàn)類允許繼承(實現(xiàn))多個接口,有些接口我們用不到

C、實現(xiàn)類一般都比較復(fù)雜,而接口往往比較簡單

D、實現(xiàn)類的對象不能被運行時增強

54.關(guān)于單一職責(zé)原則(SRP)的描述正確的是()[單選題]

A、不同行為者所依賴的代碼可以放在一個類里面進行封裝

B、解決同一個類不同行為者修改方法的方式是將代碼合并之后,解決當(dāng)前沖突;

C、任何一個軟件模塊都應(yīng)該只對某一類行為者負(fù)責(zé)V

D、不同行為者所依賴的代碼放到一起,當(dāng)一個行為者修改代碼之后,代碼沒有沖入,不會對其他行為

者使用產(chǎn)生影響;

55.在工作中,經(jīng)常遇到同一個service實現(xiàn)類方法由于不同需求變更,多個團隊需要修改,當(dāng)出現(xiàn)沖

突的時候,最好的解決辦法是?[單選題]

A、不管別人調(diào)用,僅修改自己的功能,滿足自己的需求即可;

B、代碼合并,解決沖突,只驗證自己的功能;

C、重構(gòu)當(dāng)前方法,將不同行為的者的代碼進行拆分,使其軟件模塊只花一類行為負(fù)責(zé);V

D、為了避免沖突,自己先提交代碼,驗證功能,不管其他團隊;

56.下面關(guān)于單一職責(zé)原則描述正確的是?[單選題]

A、單一職責(zé)主要討論的是函數(shù)和類之間的關(guān)系,但是在兩個討論層面上會議不同形式出現(xiàn)V

B、同一個軟件模塊可以有多個被修改的原因

C、同一個軟件模塊允許有多個行為者共同負(fù)責(zé)

D、同一個軟件模塊可以有多個系統(tǒng)利益相關(guān)者

57.下面哪一項不能體現(xiàn)了里氏替換原則(LSP)?[單選題]

A、用戶行為可以依賴他所使用的類,并且這些類可以不用相互替換V

B、用戶可以調(diào)用授權(quán)L類計算授權(quán)費用方法進行授權(quán)付費,并且該授權(quán)類有兩個衍生類A和B,這兩

個類會用不同算法來計算授權(quán)費用,這樣是符合里氏替換原則的

C、對于每個類型是S的對象。1都存在一個類型為T的對象02,能使糜作T類型的程序P在用。2

替換。1時行為保持不變,可以將S稱為T的子類型

D、一個軟件實體如果使用的是一個基類的話,那么一定適用于其子類,而且它根本不能察覺出基類對

象和子類對象的區(qū)別

58.以下哪一項不能體現(xiàn)里氏替換原則四層含義?[單選題]

A、子類必須完全實現(xiàn)父類的方法

B、子類不能有自己的個性。

C、覆蓋或?qū)崿F(xiàn)父類的方法時,輸入?yún)?shù)可以被放大

D、覆寫或?qū)崿F(xiàn)父類的方法時輸出結(jié)果可以被縮小

59.以下父類方法、子類方法(或返回方法)不符合里氏替換原則的是?[單選題]

A、父類方法func(HashM叩map);子類方法func(M叩m叩);

B、父類方法func(inta);子類方法newFunc(inta);

C、父類方法publicabstractMapfun();子類方法publicHashMapfun(){};

D、父類方法func(M叩map);子類方法func(HashM叩m叩W

60.設(shè)計模式六大原則中,接口隔離原則的簡稱是哪個?[單選題]

A、OCP

B、LSP

C、ISPV

D、DIP

61.關(guān)于接口隔離原則,以下敘述有誤的是()[單選題]

A、在系統(tǒng)設(shè)計時,客戶端不應(yīng)該依賴那些它不需要的接口

B、當(dāng)一個接口太大時,需要將它分割成一些更細(xì)小的接口,使用該接口的客戶端類僅需知道與之相關(guān)

的方法即可

C、接口應(yīng)該盡量細(xì)化,同時接口中的方法應(yīng)該盡可能少,理想情況下是在每個接口中只定義一個方法,

該接口使用起來最為方便V

D、一個接口只代表一個角色,每個角色都有它特定的一個接口

62.OCP是我們進行系統(tǒng)架構(gòu)設(shè)計的主導(dǎo)原則,其主要目標(biāo)是()[單選題]

A、讓系統(tǒng)易于擴展,同時限制其每次被修改所影響的范圍V

B、所有功能組件化

C、便于代碼的修改,同時不增加新的子類

D、以上都不是

63.以下對開閉原則的描述錯誤的是()[單選題]

A、開閉原則與“對可變形的封裝原則"沒有相似性V

B、找到一個系統(tǒng)的可變元素,將它封裝起來,叫開閉原則

C、對修改關(guān)閉,是其原則之一

D、從抽象層導(dǎo)出一個或多個新的具體類可以改變系統(tǒng)的行為,是其原則之一

64.開閉原則的含義是一個軟件實體()[單選題]

A、應(yīng)當(dāng)對修改開放,對擴展關(guān)閉

B、應(yīng)當(dāng)對擴展開放,對修改關(guān)閉V

C、應(yīng)當(dāng)對繼承開放,對修改關(guān)閉

D、以上都不對

65.開閉原則的實現(xiàn)方式是()[單選題]

A、先調(diào)整各類之間的依賴關(guān)系,再對各類進行分組(SRP)

B、通過分析系統(tǒng)之間的依賴關(guān)系,抽離公共的邏輯,所有修改集中在一個范圍中,使得其它邏輯不需

要進行修改

C、通過將系統(tǒng)劃分為一系列組件,并且將這些組件間的依賴關(guān)系按層次結(jié)構(gòu)進行組織,使得高階組件

不會因低階組件被修改而受到影響V

D、以上都不對

66.SOUD五大設(shè)計原則包括哪五大原則()[多選題]

A、單一職責(zé)原則V

B、開閉原則V

C、里氏替換原則V

D、接口隔離原則V

E、依賴反轉(zhuǎn)原則V

67.將服務(wù)不同行為者的代碼進行切分的方法,以下說法正確的是()[多選題]

A、將數(shù)據(jù)與函數(shù)分離,

B、使用facade(外觀)模式V

C、將重要的函數(shù)留在類中,同時使用這個類調(diào)用其他沒那么重要的函數(shù),

D、每個開發(fā)人員寫自己的類,互不影響

68.對于那個語言來說不需要程序員顯式的import,use或include其功能所需要的源代碼()[多選

題]

A、java

B、rubyV

C、pythonV

D、JavaScriptV

69.為了避免多人為了不同的目標(biāo)修改同一份源代碼,我們應(yīng)該采取哪種方法,以下說法不正確的是()

[多選題]

A、不復(fù)用別人的代碼,自己重新寫T分V

B、將服務(wù)不同行為者的代碼進行切分

C、鎖定文件,不讓其他人修改V

D、誰最后修改了代碼誰負(fù)責(zé)V

70.一個好的架構(gòu)在新增功能時應(yīng)該將舊代碼的修改需求量降至最小,我們應(yīng)該做的是()[多選題]

A、將不同需求的代碼分組V

B、調(diào)整不同分組代碼的依賴關(guān)系V

C、開發(fā)足夠多的的工具類

D、設(shè)計數(shù)據(jù)表結(jié)構(gòu)

71.在軟件架構(gòu)設(shè)計中為什么Interactor會放在重要位置()[多選題]

A、他是程序的業(yè)務(wù)邏輯所在之處V

B、包含了其最高層的應(yīng)用策略V

C、其他組件都只是負(fù)責(zé)處理周邊的輔助邏輯V

D、Interactor是核心組件V

72.依賴反轉(zhuǎn)原則告訴我們,如果想設(shè)計一個靈活的系統(tǒng),在源碼層次的依賴關(guān)系中應(yīng)該(),以下說

法不正確的是()[多選題]

A、引用抽象類型

B、引用具體實現(xiàn)V

C、引用其他工具類V

D、寫高質(zhì)量代碼V

73.關(guān)于SOLID原則以下說法正確的是()[多選題]

A、任何一個軟件模塊只能有一個被修改的原因V

B、設(shè)計良好的計算機軟件應(yīng)該易于擴展,同時抗拒修改V

C、在一般情況下,任何層次的軟件設(shè)計如果依賴于不需要的東西,都會是有害的V

D、DIP原則想告訴我們的是,如果想要設(shè)計一個靈活的系統(tǒng),在源代碼層次的依賴關(guān)系中就應(yīng)該多引

用抽象類型,而三溟體實現(xiàn)V

74.我們應(yīng)該關(guān)注的是軟件系統(tǒng)內(nèi)部那些會經(jīng)常()的具體實現(xiàn)模塊,這些模塊是()的,也就經(jīng)常會

出現(xiàn)變更()[多選題]

A、變動的V

B、不變的

C、不停開發(fā)V

D、穩(wěn)定的

75.如果想要在軟件架構(gòu)上追求穩(wěn)定,就必須多使用穩(wěn)定的抽象接口,少依賴多變的具體實現(xiàn)類,以下

說法正確的是()[多選題]

A、應(yīng)在代碼中多使用抽象接口,避免使用那些多變的具體實現(xiàn),

B、不要在具體實現(xiàn)類上創(chuàng)建衍生類V

C、不要覆蓋包含具體實現(xiàn)的函數(shù)V

D、應(yīng)避免在代碼中寫入與任何具體實現(xiàn)相關(guān)的名字,或者其他容易變動的事物的名字V

76.對于每個軟件系統(tǒng),我們都可以通過哪些維度來體現(xiàn)它的實際價值()[多選題]

A、行為V

B、性能

C、質(zhì)量

D、架構(gòu)V

77.下列對系統(tǒng)價值維度描述正確的是()[多選題]

A、系統(tǒng)行為,是緊急的,但是并不總是特別重要V

B、系統(tǒng)架構(gòu),是重要的,但是并不總是特別緊急V

C、系統(tǒng)架構(gòu),是重要的,且特別緊急

D、系統(tǒng)行為,是重要的,且并不總是特別緊急

78.編程范式包含下列哪幾個()[多選題]

A、結(jié)構(gòu)化編程V

B、面向?qū)ο缶幊蘓

C、函數(shù)式編程V

D、響應(yīng)式編程

79.軟件架構(gòu)的三大關(guān)注點()[多選題]

A、穩(wěn)定性

B、功能性V

C、組件獨立性V

D、數(shù)據(jù)管理V

80.事件溯源這種數(shù)據(jù)存儲模式中不存在()和()的情況()[多選題]

A、新增

B、刪除V

C、更新V

D、查詢

81.軟件,或者說計算機程序無T列外是由哪幾種行為組合而成的()[多選題]

A、順序結(jié)構(gòu)V

B、分支結(jié)構(gòu)V

C、循環(huán)結(jié)構(gòu)V

D、間接轉(zhuǎn)移V

82.系列哪些是面向?qū)ο缶幊陶Z言()[多選題]

A、C

B、JAVAV

C、C++V

D、C#V

83.面向?qū)ο缶幊贪铝心男┨匦裕ǎ鄱噙x題]

A、封裝V

B、繼承V

G多態(tài)V

D、響應(yīng)式編程

84.下列說法哪些是正確的()侈選題]

A、通過類中的公共的數(shù)操作私有成員變量體現(xiàn)了封裝的思想。

B、代碼中Cat類實現(xiàn)Animal類eat()方案采到了繼承的方式V

C、適配器模式體現(xiàn)多態(tài)的思想V

D、只有面向?qū)ο蟪绦蛑胁艜玫蕉鄳B(tài)的思想

85.需求變更的()和()是決定對應(yīng)軟件變更實施成本高低的關(guān)鍵()[多選題]

A、內(nèi)容

B、范疇V

C、時間

D、形狀V

86.以下哪些是遵循依賴反轉(zhuǎn)原則(DIP)的良好編碼守則()[多選題]

A、應(yīng)在代碼中多使用抽象接口,盡量避免使用那些多變的具體實現(xiàn)類V

B、不要在具體實現(xiàn)類上創(chuàng)建衍生類V

C、不要覆蓋(override)包含具體實現(xiàn)的函數(shù)V

D、應(yīng)避免在代碼中寫入與任何具體實現(xiàn)相關(guān)的名字,或者是其他容易變動的事物的名字V

87.以下表述與書中依賴反轉(zhuǎn)原則(DIP)表述具有相似含義的是()[多選題]

A、抽象不應(yīng)該依賴細(xì)節(jié),細(xì)節(jié)依賴抽象,

B、高層模塊不應(yīng)該依賴低層模塊,兩者都應(yīng)該依賴于其抽象V

C、Don'tcallus,we'lleaIlyou

D、派生類對象可以在程序中代替其基類對象

88.SOUD包含哪些具體原則?()[多選題]

A、OCPV

B、LSPV

C、SRPV

D、IOC

89.任何一個軟件模塊都應(yīng)該只對某一類行為負(fù)責(zé),其中軟件模塊具體是指什么內(nèi)容?()[多選題]

A、一組緊密相關(guān)的函數(shù)和數(shù)據(jù)結(jié)構(gòu)V

B、一個公共組件

C、一個函數(shù)方法

D、一個源代碼文件V

90.遵循里氏替換原則可以帶來哪些優(yōu)勢()[多選題]

A、增強了代碼的可維護性V

B、提高代碼的可擴展性V

C、降低代碼的耦合度V

D、繼承是侵入性的

91.里氏替換原則四層含義包含以下哪些()[多選題]

A、子類可以實現(xiàn)父類的抽象方法,但是不能覆蓋父類的非抽象方法V

B、子類中可以增加自己特有的方法V

C、當(dāng)子類覆蓋或?qū)崿F(xiàn)父類的方法時,方法的前置條件(即方法的形參)要比父類方法的輸入?yún)?shù)更寬

松V

D、當(dāng)子類的方法實現(xiàn)父類的抽象方法時,方法的后置條件(即方法的返回值)要比父類更嚴(yán)格V

92.實現(xiàn)接口隔離原則的方法()[多選題]

A、將接口劃分為更小的、更具體的接口,每個接口只包含客戶端所需的方法V

B、使用基類的地方必須使用子類進行替換

C、使用依賴注入V

D、使用適配器模式。

93.使用接口隔離原則可以帶來許多好處()[多選題]

A、降低耦合度V

B、提高靈活性V

C、增強可維護性V

D、提高代碼復(fù)用性。

94.以下哪些模式符合開閉原則()侈選題]

A、簡單工廠模式

B、工廠方法模式V

C、原型模式V

D、橋接模式。

95.開閉原則相關(guān)的面向?qū)ο笤O(shè)計原則()[多選題]

A、單一職責(zé)原則V

B、依賴倒置原則V

C、接口隔離原則V

D、里氏替換原則。

96.任何一個軟件模塊可以有任意多個被修改的原因。

錯V

97.設(shè)計良好的計算機軟件應(yīng)該易于擴展,同時拒絕修改。

錯V

98.在一般情況下,任何層次的軟件設(shè)計如果依賴于不需要的東西,都會是有害的。

對V

99.如果A,B組件存在依賴關(guān)系,A組件不想被B組件上發(fā)生的修改所影響,應(yīng)該讓B組件依賴于A

組件。

對,

100.假設(shè)有3個用戶需要操作ops類,分別調(diào)用ops類的不同方法,沒必要將各自調(diào)用的方法隔離出

不同接口。

錯V

101.DIP原則想告訴我們的是,如果想要設(shè)計一個靈活的系統(tǒng),在源代碼層次的依賴關(guān)系中就應(yīng)該多

引用具體實現(xiàn),而非抽象類型。

錯V

102.軟件架構(gòu)設(shè)計的終極目標(biāo)是,用最優(yōu)的架構(gòu)來滿足構(gòu)建和維護該系統(tǒng)的需求。

錯V

103.我們可以未來再重構(gòu)代碼,產(chǎn)品上線最重要。

錯V

104.任何情況下系統(tǒng)正常工作都比系統(tǒng)易于修改更重要。

錯V

105.在架構(gòu)設(shè)計領(lǐng)域,功能性降解拆分仍然時最佳實踐之一。

對V

106.所有的競爭問題、死鎖問題、并發(fā)更新問題都是由可變量導(dǎo)致的。

對V

107.軟件開發(fā)的一個核心特點:要想跑的快,先要跑得穩(wěn)。

對V

108.依賴反轉(zhuǎn)原則(DIP)告訴我們,要將所有對具體實現(xiàn)類的依賴,轉(zhuǎn)為對接口、抽象類的依賴,我

們在軟件系統(tǒng)中可以完全消除違反DIP的情況。

錯V

109.任何一個軟件模塊都應(yīng)該有且僅有一個被修改的原因。

對V

110.一個子類應(yīng)該可以完全替代它的父類,并且保持程序的正確性和已執(zhí)行。

對V

111.一個好的軟件架構(gòu)設(shè)計師會努力將舊代碼的修改需求量降至最小,甚至為0。

對V

112.對系統(tǒng)進行抽象化是實現(xiàn)開閉原則的方法。

對V

113.接口隔離原則強調(diào)將一個大接口拆分成許多小接口,不同小接口靈活組合,增加了靈活性但提升

了代碼的冗余程度。

錯V

B

1.架構(gòu)設(shè)計的工作常常需要將組件重排組合成為一個(\[單選題]

A、完全圖

B、無向圖

C、有向無環(huán)圖V

D、二分圖

2.在一個設(shè)計良好的架構(gòu)中,依賴關(guān)系的方向通常取決于他們所關(guān)聯(lián)的(\[單選題]

A、組件聚合

B、組件耦合

C、組件層次V

D、邊界

3.軟件架構(gòu)設(shè)計的工作重點之一是將策略批次分離,將他們按照()進行重組。[單選題]

A、策略

B、依賴關(guān)系

C、變更的方式V

D、層次

4.代表業(yè)務(wù)邏輯的代碼應(yīng)該是整個系統(tǒng)的核心,其他低層概念的實現(xiàn)應(yīng)該以()形式接入系統(tǒng)。[單選

A、組件

B、模塊

C、插件V

D、框架

5.業(yè)務(wù)實體屬于()概念,而用例屬于()概念。[單選題]

A、高層、低層V

B、低層、高層

C、里層、外層

D、外層、里層

6.用例控制著()之間的交互方式。[單選題]

A、組件

B、業(yè)務(wù)實體V

C、模塊

D、程序

7.框架應(yīng)該是一個()[單選題]

A、可選項V

B、必選項

C、插件項

D、部署項

8.一個良好的架構(gòu)設(shè)計應(yīng)該圍繞著()來展開[單選題]

A、領(lǐng)導(dǎo)

B、公司資源

C、研發(fā)

D、用例V

9.架構(gòu)設(shè)計的主題應(yīng)該基于[單選題]

A、用例V

B、開發(fā)

C、領(lǐng)導(dǎo)

D、用戶

10.良好的架構(gòu)設(shè)計應(yīng)該只關(guān)注()[單選題]

A、代碼

B、用例。

C、框架

D、開發(fā)量

11.我們一定要帶著()的態(tài)度看待每一個框架。[單選題]

A、包容

B、點贊

C、信徒

D、懷疑V

12.系統(tǒng)架構(gòu)的設(shè)計目標(biāo)是按照不同的()對軟件進行切割。[單選題]

A、切入點

B、契合點

C、關(guān)注點,

D、邊界點

13.關(guān)于業(yè)務(wù)實體說法不正確的是?[單選題]

A、業(yè)務(wù)實體封裝了整個系統(tǒng)的關(guān)鍵業(yè)務(wù)邏輯

B、業(yè)務(wù)實體不能被其他應(yīng)用復(fù)用V

C、業(yè)務(wù)實體是一個帶有方法的對象

D、業(yè)務(wù)實體是一組數(shù)據(jù)結(jié)構(gòu)和函數(shù)的集合

14.屬于接口適配器層的不包括以下哪個選項?[單選題]

A、數(shù)據(jù)庫V

B、展示器

C、視圖

D、控制器

15.不屬于最外層的模型層的組成部分的是?[單選題]

A、工具

B、數(shù)據(jù)庫

C、Web框架

D、網(wǎng)關(guān)V

16.下列說法正確的是?[單選題]

A、最內(nèi)層包含最通用、最高層的策略

B、源碼層面的依賴一定要指向同心圓內(nèi)側(cè)

C、層次越往內(nèi),抽象和策略層次越低,其抽象程度越高V

D、最外層包含最具體的實現(xiàn)細(xì)節(jié)

17.構(gòu)造合理的跨邊界調(diào)用需要我們對源碼中的一進行合理管控[單選題

A、依賴數(shù)量

B、依賴關(guān)系V

C、代碼質(zhì)量

D、開發(fā)方式

18."謙卑對象模式"最初的設(shè)計目的是?[單選題]

A、區(qū)分容易和難以測試的行為V

B、處理組件依賴關(guān)系

C、幫助設(shè)計系統(tǒng)架構(gòu)

D、方便將數(shù)據(jù)填充到GUI上

19.對象關(guān)系映射器(ORM)系統(tǒng)統(tǒng)應(yīng)該屬于系統(tǒng)架構(gòu)中的哪一層?[單選題]

A、GUI層

B、中間件層

C、數(shù)據(jù)庫層V

D、源碼層

20.在整個系統(tǒng)中,只有一依賴于Main組件。[單選題]

A、用例

B、底層組件

C、高層組件

D、操作系統(tǒng)V

21.Main組件也可以被視為應(yīng)用程序的一個___負(fù)責(zé)設(shè)置起始狀態(tài)、配置信息、加載外部資源,最后

將控制權(quán)轉(zhuǎn)交給應(yīng)用程序的其他高層組件[單選題]

A、插件V

B、依賴

C、入口

D、邊界

22.謙卑對象(humbleobject)這種設(shè)計模式可以很好地幫助識別和保護系統(tǒng)架構(gòu)的—。[單選題]

A、缺陷

B、邊界V

C、作用

D、目標(biāo)

23.SQL部分的功能需要通過網(wǎng)關(guān)接口來提供,而這些接口的實現(xiàn)則要由____的類來負(fù)責(zé)[單選題]

A、GUI層

B、中間件層

C、數(shù)據(jù)庫層V

D、源碼層

24.我們將系統(tǒng)行為分割成可測試和不可測試兩部分的過程常常就也定義了系統(tǒng)的—[單選題]

A、策略

B、組件分類標(biāo)準(zhǔn)

C、用例

D、架構(gòu)邊界V

25.對于用例交互器(interacts)與數(shù)據(jù)庫中間的組件,我們通常稱之為:[單選題]

A、數(shù)據(jù)庫網(wǎng)關(guān)V

B、Main組件

C、業(yè)務(wù)組件

D、數(shù)據(jù)映射器

26.對象不是數(shù)據(jù)結(jié)構(gòu)。至少從用戶的角度來說,對象內(nèi)部的數(shù)據(jù)應(yīng)該都是:[單選題]

A、公開的

B、不可見的V

C、部分可見的

D、可修改的

27.通過在系統(tǒng)的邊界處運用我們可以大幅地提高整個系統(tǒng)的可測試性。[單選題]

A、展示器與視圖

B、策略模式

C、謙卑對象模式V

D、數(shù)據(jù)映射器

28.以下關(guān)于數(shù)據(jù)庫映射器描述錯誤的是?[單選題]

A、數(shù)據(jù)映射器是一種設(shè)計模式

B、它用于將應(yīng)用程序的數(shù)據(jù)模型與數(shù)據(jù)存儲(通常是數(shù)據(jù)庫)之間進行解耦

C、它的主要目標(biāo)是保持領(lǐng)域模型的純粹性,使其不受持久化和存儲細(xì)茫的影響

D、可用于將對象模型與關(guān)系型數(shù)據(jù)庫之間進行映射,

29.以下關(guān)于數(shù)據(jù)庫網(wǎng)關(guān)描述錯誤的是?[單選題]

A、數(shù)據(jù)庫網(wǎng)關(guān)是一個中間層軟件組件,用于連接不同類型的數(shù)據(jù)庫和數(shù)據(jù)存儲系統(tǒng)

B、數(shù)據(jù)庫網(wǎng)關(guān)處理協(xié)議轉(zhuǎn)換、查詢翻譯、數(shù)據(jù)轉(zhuǎn)換、安全性、權(quán)限控制等任務(wù),以確保應(yīng)用程序可以

方便地與各種數(shù)據(jù)庫進行

C、數(shù)據(jù)庫網(wǎng)關(guān)同時也是一種設(shè)計模式,用于處理應(yīng)用程序的業(yè)務(wù)邏輯V

D、數(shù)據(jù)庫網(wǎng)關(guān)可以用于協(xié)議轉(zhuǎn)換

30.關(guān)于服務(wù)監(jiān)聽器描述正確的是?[單選題]

A、用于監(jiān)控和響應(yīng)特定服務(wù)或事件的組件或模塊V

B、它包含了應(yīng)用程序在數(shù)據(jù)庫上所要執(zhí)行的創(chuàng)建、讀取、更新、刪除等操作

C、它是一種設(shè)計模式

D、用于管理和發(fā)現(xiàn)謙卑對象

31.采用架構(gòu)整潔之道的目的是?[單選題]

A、單一職責(zé)原則(SingleResponsibilityPrinciple)和開放封閉原則(Open-ClosedPrinciple),從

而幫助構(gòu)建更可擴展和易于維護的代碼

B、將事件的產(chǎn)生和處理分離,使系統(tǒng)的各個組件能夠松耦合地協(xié)同工作

C、創(chuàng)建可維護、可測試、可擴展且獨立于外部因素的軟件系統(tǒng)。

D、一種設(shè)計模式,也是一種軟件開發(fā)技術(shù)

32.Main組件中的依賴關(guān)系通常應(yīng)該由一框架來注入[單選題]

A、協(xié)調(diào)、創(chuàng)建

B、依賴注入V

C、組件

D、依賴反轉(zhuǎn)

33.以下關(guān)于展示器視圖和謙卑對象關(guān)系對的是[單選題]

A、視圖部分屬于可測試的謙卑對象

B、展示器是可測試的對象V

C、展示器是難以測試的對象

D、視部分是相對容易測試的謙卑對象

34.強大的()是一個架構(gòu)的設(shè)計是否優(yōu)秀的顯著衡量標(biāo)準(zhǔn)之一[單選題]

A、框架

B、性能

C、可測試性V

D、架構(gòu)

35.數(shù)據(jù)結(jié)構(gòu)可以進行()的傳輸[單選題]

A、跨模塊

B、跨組件

C、跨邊界

D、跨服務(wù)邊界V

36.()的職責(zé)之一就是預(yù)判未來哪里有可能會需要設(shè)置架構(gòu)邊界,并決定應(yīng)該以完全形式還是不完全

形式來實現(xiàn)它們。[單選題]

A、開發(fā)人員

B、架構(gòu)師V

C、系統(tǒng)分析師

D、測試人員

37.門戶模式下,我們可以省掉()工作。[單選題]

A、循環(huán)依賴

B、單一職責(zé)

C、接口隔離

D、依賴反轉(zhuǎn)V

38.在設(shè)計一套完整的系統(tǒng)架構(gòu)邊界時,往往需要用反向接口來維護邊界兩側(cè)組件的();[單選題]

A、隔離性V

B、獨立行

C、可測試性

D、依賴性

39.謙卑對象模式最初的設(shè)計目的是幫助()的編寫者區(qū)分容易測試的行為與難以測試的行為,并將它

們隔離[單選題]

A、功能測試

B、單元測試V

C、集成測試

D、用戶測試

40.在設(shè)計一套完整的系統(tǒng)架構(gòu)邊界時,往往需要用()來維護邊界兩側(cè)組件的隔離性。[單選題]

A、依賴反轉(zhuǎn)

B、反向接口V

C、接口隔離

D、組件聚合

41.門戶模式:()的間接轉(zhuǎn)移不用接口和實現(xiàn)去做,而是用門戶類去做,用這種方式連接口都不用聲

明了。[單選題]

A、調(diào)用方

B、被調(diào)用方

C、賦值權(quán)

D、控制權(quán)V

42.構(gòu)建完整的架構(gòu)邊界是一件很耗費成本的事。在這個過程中,需要為系統(tǒng)設(shè)計(),用于輸入和輸

出的數(shù)據(jù)結(jié)構(gòu)。[單選題]

A、組件層級

B、雙向的多態(tài)邊界接口V

C、獨立的接口

D、單向的輸入模式

43.不屬于邊界的解耦方式的是()?[單選題]

A、源碼層次

B、部署層次

C、服務(wù)層次

D、組件層次V

44.作為(),我們必須要小心審視究竟在什么地方才需要設(shè)計架構(gòu)邊界c另外,我們還必須弄清楚完

全實現(xiàn)這些邊界將會帶來多大的成本[單選題]

A、架構(gòu)師V

B、軟件工程師

C、BA

D、產(chǎn)品經(jīng)理

45,Main組件也可以被視為應(yīng)用程序的一個插件一這個插件負(fù)責(zé)(\配置信息、加載外部資源,最

后將控制權(quán)轉(zhuǎn)交給應(yīng)用程序的其他高層組件[單選題]

A、設(shè)置起始狀態(tài)V

B、配置信息

C、加載外部資源

D、初始化

46.Main組件也可以被視為應(yīng)用程序的一個插件一這個插件負(fù)責(zé)設(shè)置起始狀態(tài)、()加載外部資源,

最后將控制權(quán)轉(zhuǎn)交給應(yīng)用程序的其他高層組件[單選題]

A、設(shè)置起始狀態(tài)

B、配置信息V

C、加載外部資源

D、初始化

47.Main組件也可以被視為應(yīng)用程序的一個插件-這個插件負(fù)責(zé)設(shè)置起始狀態(tài)、配置信息、(),最

后將控制權(quán)轉(zhuǎn)交給應(yīng)用程序的其他高層組件[單選題]

A、設(shè)置起始狀態(tài)

B、配置信息

C、加載外部資源V

D、初始化

48.由于Main組件能以()存在于系統(tǒng)中,因此我們可以為一個系統(tǒng)設(shè)計多個Main組件,讓它們各

自對應(yīng)于不同的配置。[單選題]

A、組件形式

B、插件形式V

C、接口形式

D、配置化

49.Main組件是整個系統(tǒng)中的一個(),它處于整潔架構(gòu)的最外圈,主要負(fù)責(zé)為系統(tǒng)加載所有必要的信

息,然后再將控制權(quán)轉(zhuǎn)交回系統(tǒng)的高層組件。[單選題]

A、底層模塊V

B、上層模塊

C、邊沿模塊

D、底層實現(xiàn)

50.在所有的系統(tǒng)中,都至少要有一個組件來負(fù)責(zé)()其他組件的運轉(zhuǎn)。我們將其稱為Main組件。[單

選題]

A、創(chuàng)建、協(xié)調(diào)、監(jiān)督V

B、創(chuàng)建、協(xié)調(diào)、監(jiān)控

C、創(chuàng)建、協(xié)調(diào)、監(jiān)視

D、創(chuàng)建、調(diào)度、監(jiān)督

51.Mai口組件是系統(tǒng)中最細(xì)節(jié)化的部分一也就是底層的策略,它是整個系統(tǒng)的()[單選題]

A、初始點V

B、起始點

C、出發(fā)點

D、終點

52.軟件架構(gòu)設(shè)計按照策略彼此分離組件時,()()和()應(yīng)該被分到同一個組件中。()[多選題]

A、變更原因V

B、變更地點

C、時間V

D、層次相同的策略V

53.變更原因和變更時間相同的策略應(yīng)在哪兩個原則的指導(dǎo)下合并為同一組件。()[多選題]

A、SRPV

B、REP

C、CCPV

D、SAP

54.關(guān)于業(yè)務(wù)實體說法正確的有()[多選題]

A、業(yè)務(wù)實體是包含了一系列用于操作關(guān)鍵數(shù)據(jù)的業(yè)務(wù)邏輯的計算機系統(tǒng)中的對象V

B、業(yè)務(wù)實體對象直接包含了關(guān)鍵業(yè)務(wù)數(shù)據(jù)。

C、業(yè)務(wù)實體對象可以較容易的訪問關(guān)鍵業(yè)務(wù)數(shù)據(jù)。

D、業(yè)務(wù)實體的接口層由實現(xiàn)關(guān)鍵業(yè)務(wù)邏輯、操作關(guān)鍵業(yè)務(wù)數(shù)據(jù)的函數(shù)組成V

55.按照架構(gòu)設(shè)計出來的系統(tǒng)通過具有哪些特點()[多選題]

A、可被測試V

B、獨立于UW

C、獨立于框架V

D、獨立于數(shù)據(jù)庫V

E、獨立于仰可外部機構(gòu)V

56.架構(gòu)通常包括哪些層級()[多選題]

A、框架與驅(qū)動程序V

B、接口適配器V

C、用例V

D、業(yè)務(wù)實體V

57.應(yīng)用程序所能控制的、要在屏幕上顯示的一切東西,都應(yīng)該在視圖模型中以哪些形式存在()[多選

題]

A、字符串V

B、布爾值V

C、任意值

D、枚舉值V

58.對于用例交互器(interactor)與數(shù)據(jù)庫中間的組件,我們通常稱之為數(shù)據(jù)庫網(wǎng)關(guān)這些數(shù)據(jù)庫網(wǎng)關(guān)

本身是一個多態(tài)接口,包含了應(yīng)用程序在數(shù)據(jù)庫上所要執(zhí)行的以下哪些操作[)[多選題]

A、創(chuàng)建V

B、讀取V

C、更新V

D、刪除V

59.構(gòu)建不完全邊界的方式包含以下哪幾種()[多選題]

A、謙卑對象模式

B、省掉最后一步V

C、策略模式V

D、門戶模式V

6O.Main組件是指系統(tǒng)中來負(fù)責(zé)—其他組件的運?轉(zhuǎn)()[多選題]

A、創(chuàng)建V

B、協(xié)調(diào)V

C、監(jiān)督V

D、維持

61.Main組件的任務(wù)是創(chuàng)建______并最終將系統(tǒng)的控制權(quán)轉(zhuǎn)交給最高抽象層的代碼來處理()[多選

A、工廠類V

B、策略類V

C、全局設(shè)施V

D、中間件

62.關(guān)于謙卑對象模式描述正確的是()[多選題]

A、謙卑對象模式就是為了幫助單元測試的編寫者區(qū)分容易測試的行為與難以測試的行為V

B、展示器實際上是采用謙卑對象模式的一種形式V

C、謙卑對象模式本質(zhì)上就是一個設(shè)計模式

D、謙卑對象模式是一種軟件設(shè)計概念V

63.架構(gòu)師怎么應(yīng)對邊界問題()[多選題]

A、判斷未來哪里有可能需要設(shè)置架構(gòu)邊界V

B、需決定應(yīng)該已完全形式還是不完全形式來實現(xiàn)它們V

C、盡量把代碼抽象化來應(yīng)對將來可能存在的需求

D、使用單向邊界與門戶模式

64.謙卑對象模式初的設(shè)計目的是幫助單元測試的編寫者區(qū)分()的行為與()的行為,并將它們隔離

()[多選題]

A、難以測試V

B、簡單測試

C、容易測試V

D、復(fù)雜測試

65.利用謙卑對象模式將GUI的這兩種行為拆分成()與()[多選題]

A、業(yè)務(wù)邏輯

B、展示器V

C、視圖V

D、界面

66.數(shù)據(jù)庫網(wǎng)關(guān)通??梢员惶鎿Q成對應(yīng)的()和()[多選題]

A、測試替身類V

B、測試樁V

C、測試數(shù)據(jù)

D、測試模擬

67.謙卑對象通常具有以下特點()[多選題]

A、簡單行V

B、可擴展性V

C、易用性

D、靈活性V

68.構(gòu)建不完全邊界的種方式就是在將系統(tǒng)分割成一系列可以(\()組件之后,再把它們構(gòu)建成一個

組件()[多選題]

A、獨立開發(fā)

B、獨立編譯V

C、獨立部署V

D、獨立測試

69.構(gòu)建不完全邊界有以下幾種解決方案()[多選題]

A、分離組件

溫馨提示

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

評論

0/150

提交評論