




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程相關設計模式本講主題 設計模式的概念 主要的設計模式復用的層次 文件編輯的復用粘貼和復制 代碼的復用公用函數(shù)和過程 功能的復用組件 設計方法的復用設計模式 解決方案的復用框架和體系結構模式的概念 建筑模式橋梁設計住宅戶型設計 電影劇情模式武俠劇模式韓國愛情劇模式香港警匪片模式軟件設計模式 設計模式的概念模式是一種軟件設計方法模式是對一種問題切實可行的解決方案模式是對一種設計思想的繼承 設計模式的基本組成要素模式名稱所要解決的問題解決的方法解決的效果設計模式遵循的基本原則 接口化:基于接口編程 動態(tài)性:動態(tài)可配置 泛型化:不局限特定類型 可擴展:方便擴展功能 規(guī)則化:便于組合 簡單性:使
2、實現(xiàn)簡單設計模式分類 創(chuàng)建模式工廠模式構造模式原型模式單例模式 結構模式適配器模式橋接模式門面模式裝飾模式 行為模式命令模式解析模式偵聽者模式狀態(tài)模式主要設計模式 工廠模式 門面模式 裝飾模式 單例模式 適配器模式 偵聽者模式工廠模式 類的定義和調用子類定義父類定義接口定義 工廠類簡單工廠方法注入式工廠方法工廠模式(續(xù))Product定義工廠方法所創(chuàng)建對象的接口ConcreteProduct實現(xiàn)Product聲明的接口Creator聲明返回類型為Product的對象。同時,Creator有可能定義返回默認ConcreteProduct的工廠方法的默認實現(xiàn)。可能調用工廠方法創(chuàng)建產品對象Concr
3、eteCreator覆蓋工廠方法,返回ConcreteProduct的一個實例。門面模式 業(yè)務邏輯組件的訪問有較多業(yè)務組件構建一個門面類,通過訪問該門面類的方法來訪問各種業(yè)務組件 實例(繪圖)為了增加系統(tǒng)的靈活性,把功能細分為小類實現(xiàn)劃線類、填色類、縮放類、旋轉類、移動類提供一個統(tǒng)一的繪圖類來調用所有繪圖的小類進行繪圖操作門面模式(續(xù))Facade了解對一個請求具體響應的子系統(tǒng)類。將Client的請求委派給相應的子系統(tǒng)對象。subsystem classes 實現(xiàn)子系統(tǒng)的功能。處理Faade對象分配的工作。不了解Faade的信息,即不包含F(xiàn)aade的引用。協(xié)作協(xié)作Client通過向Faade發(fā)
4、送請求來與子系統(tǒng)交互。Faade將請求轉發(fā)給相應的子系統(tǒng)對象。盡管實際上是子系統(tǒng)對象完成工作,F(xiàn)aade有可能做接口之間的轉換工作。使用Faade的Client無需直接訪問子系統(tǒng)對象。裝飾模式 避免繼承的復雜性 增加功能擴展的靈活性 數(shù)據(jù)流處理類裝飾模式(續(xù))Class abstract StreamDecorator extends Stream protected Stream str; public void StreamDecorator(Stream str) this.str=str;Class abstract CompressDecorator extends StreamDe
5、corator public void HandleBufferFull() compress(); str. HandleBufferFull();Class abstract AsciiDecorator extends StreamDecorator public void HandleBufferFull() Ascii(); str. HandleBufferFull();單例模式確保一個類僅生成一個實例,并為之提供一個全局的訪問點配置類class Singleton public: static Singleton* Instance(); protected: Singleton(); private: static Singleton* _instance; ;相應的實現(xiàn): Singleton* Singleton:_instance = 0; Singleton* Singleton:Instance () if (_instance = 0) _instance = new Singleton; return _instance; 適配器模式 對多種數(shù)據(jù)庫的一致訪問 定義一個訪問接口 實現(xiàn)該接口封裝對不同數(shù)據(jù)庫的訪問適配器模式(續(xù)) Object Adapter
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 非線性光散射特性研究-洞察闡釋
- 智能建造技術與項目管理的深度融合-洞察闡釋
- 2025屆海南省??谑兴闹懈咭换瘜W第二學期期末預測試題含解析
- 社交電商中的用戶口碑危機應對機制-洞察闡釋
- V2X通信的實時數(shù)據(jù)傳輸-洞察闡釋
- 《ao ou iu》教學課件完美版
- XXX與社區(qū)聯(lián)合開展健康主題活動方案
- 三甲護士考試題目及答案
- 人力資源自考試題及答案
- 保管員考試題及答案大全
- 花店勞動協(xié)議書范本
- 《智能機械臂結構設計與應用》課件
- 第三屆全國技能大賽競賽(裝配鉗工)選拔賽備考試題(附答案)
- 公路工程課件大學
- 初中歷史人教部編版八年級上冊第18課 從九一八事變到西安事變教學設計
- 《民法學課件》課件-第五編-第十六章 所有權通論
- 能源計量管理培訓課件
- 心力衰竭教案
- 江蘇省2024年普通類本科批次平行志愿投檔線(物理等科目類)
- 2025年班組長綜合管理技能競賽理論考試題庫500題(含答案)
- 蘇州市公司員工2025年度勞動合同模板:勞動合同簽訂與員工考核評估
評論
0/150
提交評論