軟考高級《系統架構設計師》-- 刷題-02-架構風格相關題目總結
theme: channing-cyan
前言
今天是 2022年9月3日,距離軟考高級《系統架構設計師》還有62天。
繼續來把前幾天刷題後,覺得比較典型的設計模式和軟件架構風格的題目總結一下。
題目1 設計模式-橋接模式
這道題首先需要了解橋接模式的關鍵作用。
《系統架構設計師教程-清華版》裏面只有一句話的概括:
將類的抽象部分和實現部分分離開來,使他們可以獨立變化。 這裏的抽象部分也就是Drawing。實現部分也就是Shape部分。
再看一個類似題
題目2 設計模式-橋接模式
本題來看一下:
A 裝飾器模式,肯定排除,裝飾器一般是在一個核心功能的類上,進行額外功能的擴展 B 適配器模式,咋一看好像對,但是仔細想,不對。適配器模式,大概就是,用户需要調用若干個內容,但是各個內容之間略微有一些差異,需要專門進行給適配,來讓用户調用不同的內容。 D Facade 外觀模式。為子系統中的一組接口提供一個一致的外觀,從而簡化了該接口。
所以ABD都不行。
C 在本題題幹部分提到宣傳產品有多種表現形式,又有多種媒介,如果用一棵類樹來表達,必然會帶來“類爆炸”的問題,所以使用橋接模式是合適的。橋接模式的最核心特點便是:將抽象部分與它的實現部分分離,使它們都可以獨立地變化。
題目3 架構風格-解釋器風格
本題考察的是架構風格,關於架構風格,建議綜合以下三本書一起學習,因為這幾本數都講的不全面,考試的內容指不定從哪個書裏出。
《系統架構設計師教程-清華版》
《系統架構設計師教程-第四版(希賽版)》
《系統架構設計師考試全程指導》
本題考察的是解釋器風格。它屬於虛擬機風格的一種。
這個只有在《系統架構設計師教程-第四版(希賽版)》
裏看到相關解釋:
其他兩本書並未發現相關陳述。
虛擬機風格
包括以下兩種風格: * 解釋器風格 * 基於規則的系統
本題是極為經典的考題。題目中提及“支持玩家自行創建戰役地圖”這説明系統要能應對“自定義”內容的解析,這需要用到解釋器風格。遊戲內仿真一些列過程,就有點像書中的描述。
其他錯誤選項:
A:描述中未發現和層次相關的內容。
C:黑板風格是倉庫風格中的一種
D:事件驅動系統,往往會有一些事件、命令相關的信息。
倉庫風格
倉庫風格包括的子風格有:數據庫系統、超文本系統、黑板風格。
黑板系統
黑板系統主要由三部分組成:
(1)知識源。知識源中包含獨立的、與應用程序相關的知識,知識源之間不直接進行通信,它們之間的交互只通過黑板來完成。
(2)黑板數據結構。黑板數據是按照與應用程序相關的層次來組織的解決問題的數據,知識源通過不斷地改變黑板數據來解決問題。
(3)控制。控制完全由黑板的狀態驅動,黑板狀態的改變決定使用的特定知識。
黑板系統適合於解決複雜的非結構化的問題,能在求解過程中綜合運用多種不同知識源,使得問題的表達、組織和求解變得比較容易。黑板系統是一種問題求解模型,是組織推理步驟、控制狀態數據和問題求解之領域知識的概念框架。它將問題的解空間組織成一個或多個應用相關的分級結構。分級結構的每一層信息由一個唯一的詞彙來描述,它代表了問題的部分解。領域相關的知識被分成獨立的知識模塊,它將某一層次中的信息轉換成同層或相鄰層的信息。各種應用通過不同知識表達方法、推理框架和控制機制的組合來實現。影響黑板系統設計的最大因素是應用問題本身的特性,但是支撐應用程序的黑板體系結構有許多相似的特徵和構件。
對於特定應用問題,黑板系統可通過選取各種黑板、知識源和控制模塊的構件來設計;也可以利用預先定製的黑板體系結構的編程環境。黑板系統的傳統應用是信號處理領域,如語音和模式識別。另一應用是鬆耦合代理數據共享存取。
數據庫架構風格
數據庫架構是庫風格最常見的形式。構件主要有兩大類:
-
一個是中央共享數據源,保存當前系統的數據狀態;
-
另一個是多個獨立處理元素,處理元素對數據元素進行操作。
而超文本系統的典型代表,就是早期的靜態網頁。三種架構子風格中,最複雜的是黑板系統。
再看一個題目
題目4 架構風格-黑板系統
語音識別是典型的黑板系統,所以選黑板系統
題目5 架構風格-解釋器風格
這裏特意強調了業務靈活,更偏向於解釋器風格。
題目6 架構風格-規則系統
規則系統屬於虛擬機風格的一種,在本題中要求機器人的控制者首先定義清潔任務和任務之間的關係,然
後由機器人執行,這説明機器人能對自定義的一些邏輯進行解析,這是虛擬機風格的一大特色。
題目中有很強的提示信息:定義一些關係,這就是在定義規則。
題目7 架構風格-解釋器
依據題目要求擬開發的在線遊戲需要自定義對象之間的交互,這樣必須有機制能支持系統對新定義的規則進行解析,這需要用到虛擬機風格,構造一個虛擬機對規則進行解析,所以在此應選擇歸屬於虛擬機風格的解釋器。
本題的選項中沒有基於規則系統,如果有的話,就有點難區分了。它和解釋器風格比較接近,都是虛擬機風格的一種。
題目8 架構風格
我們看49 和50 兩題
黑板系統的典型應用就是語音識別,適合處理有一些列複雜的,求解過程不確定的問題。。
看到有輸入,有輸出的,就知道是管道過濾器風格。
題目9 架構風格-數據倉儲風格
題目10 架構風格-順序批處理
第9題和第10題綜合來看一下。
傳統的編譯器:順序批處理 現代編譯器:數據倉儲
題目11 架構風格-C2
C2風格的特點就是“組合”
其他選項:
黑板:處理語音識別等不確定過程,複雜場景問題。 規則系統:題目中一定會出現“定義”等,和規則相關的描述 虛擬機:往往用來在模擬在某個環境假設下的一些操作。
後記
刷完這些題目後,發現:
如果不理解每個風格的具體含義,直接記住也行,因為每年真題的題目描述都非常接近。看描述有時候就能知道答案。
希望這些整理的題目能對大家有幫助。