系統架構設計師備考資料(4.第六、七章)

第六章,第七章

 

第六章 UML建模與架構文檔

口袋應試:這一章出現的題點並不多,主要集中在UML概念以及各種視圖的區分和識別。在教材中的內容出題概率很低,需要大家靈活掌握。另外教材中的章節名稱雖然叫《UML建模與架構文檔》,但是並沒有在這一章的架構文檔的內容上出現題點。


 UML

UML 是用於系統的可視化建模語言, 而不是一種方法; 其中並不包括過程的概念, 其本身是獨立於過程的,可以在任何過程中使用它。不過與XML 結合最好的是用例驅動的、以體系結構爲中心的、迭代的、增量的開發過程。

UML 中的3 種基本構造塊:事物、關係和圖;

UML 中的事物也稱建模元素,包括:結構事物、行爲事物、分組事物、註釋事物;

UML 中的主要4種關係:依賴、關聯(聚合、組合) 、泛化和實現;

基於UML的需求分析過程大致可分爲以下步驟:

①利用用例及用例圖表示需求。從業務需求描述出發獲取執行者和場景;對場景進行彙總、分類、抽象,形成用例;確定執行者與用例、用例與用例圖之間的關係,生成用例圖。

②利用包圖和類圖表示目標軟件系統的總體框架結構。根據領域知識、業務需求描述和既往經驗設計目標軟件系統的頂層架構;從業務需求描述中提取“關鍵概念”,形成領域概念模型;從概念模型和用例出發,研究系統中主要的類之間的關係,生成類圖。

UML對系統架構的定義是系統的組織結構,包括系統分解的組成部分,以及它們的關聯性、交互機制和指導原則等提供系統設計的信息。具體來說,就是指以下5個系統視圖:

①邏輯視圖。邏輯視圖也稱爲設計視圖,它表示了設計模型中在架構方面具有重要意義的部分,即類、子系統、包和用例實現的子集。

②進程視圖。進程視圖是可執行線程和進程作爲活動類的建模,它是邏輯視圖的一次執行實例,描述了併發與同步結構。

③實現視圖。實現視圖對組成基於系統的物理代碼的文件和構件進行建模。

④部署視圖。部署視圖把構件部署到一組物理節點上,表示軟件到硬件的映射和分佈結構。

⑤用例視圖。用例視圖是最基本的需求分析模型。

 

出題概率:★★★★

100132、120127、120128、140135、140136、150131


如果大家要在備考複習中進行分類測試練習,或者查找更詳細的備考資料,可以使用“系統架構設計師口袋應試”小程序,或者關注我的個人公衆號“跬步郎”來查找後續更新的內容。


第七章 設計模式

口袋應試:教材第七章中的題點內容只有一個,設計模式實例,每年必考,2-3分而且幾乎都從教材內容中出題,所以這部分內容大家必須掌握。並且要熟練運用,包括:能區分各個模式的分類,各個模式的中英文對照,各個模式的圖形的區分和作用等等。本篇文章中沒出現題點的模式只列出中英文對照,未列出具體內容和圖形,請大家參考教材複習。

7.2設計模式實例

7.2.1創建性模式
單抽原件廠;用來創建對象。



1. Abstract Factory 模式(抽象工廠)

在不指定具體類的情況下,這種模式爲創建一系列相關或相互依賴的對象提供了一 個接口。根據給定的相關抽象類,Abstract Factory模式提供了從一個相匹配的具體子類 集創建這些抽象類的實例的方法,如圖7-1所示。

180154_1

2. Builder 模式(建造者模式)
3. Factory Method 模式(工廠模式)
4. Prototype 模式(原型模式)
5. Singleton 模式(單例模式)

Singleton模式確保一個類只有一個實例,並 且提供了對該類的全局訪問入口,它可以確保使 用這個類實例的所有的對象使用相同的實例。

[email protected]
出題概率:★★
160155、180154


7.2.2結構性模式
外僑組員戴配飾;處理類或對象的組合。


1. Adapter 模式(適配器模式)
2. Bridge 模式(橋接模式)

Bridge模式可以將一個複雜的組件分成兩個獨立的但又相關的繼承層次結構:功能 性的抽象和內部實現。改變組件的這兩個M次結構很簡單,以至於它們可以相互獨立地 變化。當具有抽象的層次結構和相應的實現層次結構時,Bridge模式是非常有用的。除 了可以將抽象和實現組合成許多不同的類,該模式還可以以動態組合的獨立類的形式實 現這些抽象和實現。


180156_1


3. Composite 模式(組合模式)
4. Decorator 模式(裝飾器模式)
5. Facade 模式(外觀模式)

Facade模式爲子系統中的一組接口提供了一個統一的接口。因爲只有一個接口,該模式就定義了更容易使用子系統的高級接口。這個統一的接口允許對象使用該接口與子 系統進行通信,從而實現對子系統的訪問。
6. Flyweight 模式(享元模式)
7. Proxy 模式(代理模式)

[email protected]
出題概率:★★★★
120149、120150、150132、150133、160157、180155、180156


7.2.3行爲性模式
觀摩對策、責令解放、戒忘臺;描述類與對象之間怎樣交互、怎樣分配職責。


1.Chain of Responsibility 模式(責任鏈模式)
2. Command 模式(命令模式)

Command模式在對象中封裝了請求,這樣就可以保存命令,將該命令傳遞給方法以 及像任何其他對象一樣返回該命令。
3. Interpreter 模式(解釋器模式)
4. Iterator 模式(迭代器模式)
5. Mediator 模式(中介者模式)
6. Memento 模式(備忘錄模式)

Memento模式可以保持對象狀態的“快照”(snapshot),這樣對象可以在不向外界 公開其內容的情況下返回到它的最初狀態。
7. Observer 模式(觀察者模式)
8. State 模式(狀態模式)

State模式允許對象在內部狀態變化時,變更其行爲,並且修改其類。
9. Strategy 模式( 策略模式)

Strategy模式定義了一組能夠用來表示可能行爲集合的類。這些行爲可以在應用程 序中使用,來修改應用程序功能。
10. Template Method 模式(模板方法模式)
11. Visitor 模式(訪問者模式)

[email protected]
出題概率:★★★
120151、120152、120153、160156、180157


設計模式速記
1.    工廠方法模式(Factory Method):定義一個創建對象的接口,但由子類決定需要實例化哪一個類。 工廠方法使得子類實例化的過程推遲
a.    速記關鍵詞:動態生產對象
2.    抽象工廠模式(Abstract Factory):提供一個接口,可以創建一系列相關或相互依賴的對象,而無需指定它們具體的類
a.    速記關鍵詞:生產成系列對象 
3.    構建器模式(Builder):將一個複雜類的表示與其構造相分離,使得相同的構建過程能夠得出不同的表示
a.    速記關鍵詞:複雜對象構造
4.    原型模式(Prototype):用原型實例指定創建對象的類型,並且通過拷貝這個原型來創建新的對象
a.    速記關鍵詞:克隆對象 
5.    單例模式(Singleton):保證一個類只有一個實例,並提供一個訪問它的全局訪問點
a.    速記關鍵詞:單實例
6.    適配器模式(Adapter):將一個類的接口轉換成用戶希望得到的另一種接口。它使原本不相容的接口得以協同工作
a.    速記關鍵詞:轉換接口
7.    橋接模式(Bridge):將類的抽象部分和它的實現部分分離開來,使它們可以獨立地變化
a.    速記關鍵詞:繼承樹拆分 
8.    組合模式(Composite):將對象組合成樹型結構以表示“整體-部分”的層次結構,使得用戶對單個對象和組合對象的使用具有一致性
a.    速記關鍵詞:樹形目錄結構
9.    裝飾模式(Decorator):動態地給一個對象添加一些額外的職責。它提供了用子類擴展功能的一個靈活的替代,比派生一個子類更加靈活
a.    速記關鍵詞:動態附加職責
10.    外觀模式(Facade):定義一個高層接口,爲子系統中的一組接口提供一個一致的外觀,從而簡化了該子系統的使用
a.    速記關鍵詞:對外統一接口
11.    享元模式(Flyweight):提供支持大量細粒度對象共享的有效方法
a.    速記關鍵詞:漢字編碼
12.    代理模式(Proxy)-- 結構型:爲其他對象提供一種代理以控制這個對象的訪問
a.    速記關鍵詞:快捷方式
13.    職責鏈模式(Chain of Responsibility):通過給多個對象處理請求的機會,減少請求的發送者與接收者之間的耦合。將接收對象鏈接起來,在鏈中傳遞請求,直到有一個對象處理這個請求
a.    速記關鍵詞:傳遞職責
14.    命令模式(Command):將一個請求封裝爲一個對象,從而可用不同的請求對客戶進行參數化,將請求排隊或記錄請求日誌,支持可撤銷的操作
a.    速記關鍵詞:日誌記錄,可撤銷
15.    解釋器模式(Interpreter):給定一種語言,定義它的文法表示,並定義一個解釋器,該解釋器用來根據文法表示來解釋語言中的句子
a.    速記關鍵詞:虛擬機的機制
16.    迭代器模式(Iterator):提供一種方法來順序訪問一個聚合對象中的各個元素,而不需要暴露該對象的內部表示
a.    速記關鍵詞:數據集
17.    中介者模式(Mediator)-- 行爲型:用一箇中介對象來封裝一系列的對象交互。它使各對象不需要顯式地相互調用,從而達到低耦合,還可以獨立地改變對 象間的交互
a.    速記關鍵詞:不直接引用
18.    備忘錄模式(Memento):在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態,從而可以在以後將該對象恢復到原先保存的狀態
a.    速記關鍵詞:遊戲存檔
19.    觀察者模式(Observer):定義對象間的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並自動更新
a.    速記關鍵詞:聯動
20.    狀態模式(State):允許一個對象在其內部狀態改變時改變它的行爲
a.    速記關鍵詞:狀態變成類 
21.    策略模式(Strategy):定義一系列算法,把它們一個個封裝起來,並且使它們之間可互相替換,從而讓算法可以獨立於使用它的用戶而變化
a.    速記關鍵詞:多方案切換
22.    模板方法模式(Template Method):定義一個操作中的算法骨架,而將一些步驟延遲到子類中,使得子類可以不改變一個算法的結構即可重新定 義算法的某些特定步驟
a.    速記關鍵詞:框架
23.    訪問者模式(Visitor):表示一個作用於某對象結構中的各元素的操作,使得在不改變各元素的類的前提下定義作用於這些元素的新操作
a.    速記關鍵詞:數據與操作分離 


|上一篇(3.第五章軟件架構)|目錄|

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章