天天看點

系統架構設計師備考資料(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建立性模式

單抽原件廠;用來建立對象。

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

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

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

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

2. Builder 模式(建造者模式)

3. Factory Method 模式(工廠模式)

4. Prototype 模式(原型模式)

5. Singleton 模式(單例模式)

Singleton模式確定一個類隻有一個執行個體,并 且提供了對該類的全局通路入口,它可以確定使 用這個類執行個體的所有的對象使用相同的執行個體。

[email protected]

出題機率:★★

160155、180154

7.2.2結構性模式

外僑組員戴配飾;處理類或對象的組合。

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

1. Adapter 模式(擴充卡模式)

2. Bridge 模式(橋接模式)

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

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

3. Composite 模式(組合模式)

4. Decorator 模式(裝飾器模式)

5. Facade 模式(外觀模式)

Facade模式為子系統中的一組接口提供了一個統一的接口。因為隻有一個接口,該模式就定義了更容易使用子系統的進階接口。這個統一的接口允許對象使用該接口與子 系統進行通信,進而實作對子系統的通路。

6. Flyweight 模式(享元模式)

7. Proxy 模式(代理模式)

[email protected]

出題機率:★★★★

120149、120150、150132、150133、160157、180155、180156

7.2.3行為性模式

觀摩對策、責令解放、戒忘台;描述類與對象之間怎樣互動、怎樣配置設定職責。

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

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.第五章軟體架構)|目錄|

繼續閱讀