課程目錄:軟件設計模式佳實戰培訓
4401 人關注
(78637/99817)
課程大綱:

          軟件設計模式佳實戰培訓

 

 

 

本課程涵蓋 面向對象設計原則、GRASP模式、GOF經典設計模式、其他經典的模式、架構模式5個方面,
從面向對方出發,對重要的設計模式和軟件設計原則進行了分析與講解;以多個真實的項目為案例,深入講解設計模式的運用;
提供了大量的項目實例與代碼,展現設計模式的結構。
課程內容 面向對象設計原則 開閉原則 / 依賴倒置原則 / 單一職責原則 / 里氏替換原則 /合成/聚合復用原則
Solid原則程序員必知---如果還不知道,被鄙視 GRASP模式 通用職責分配軟件模式:
創建者 /信息專家 /低耦合/ 控制器/ 高內聚 / 多態 / 純虛構/ 間接性 / 保護變化 面向對象職責分配原則 GOF經典設計模式 創建型模式:
抽象工廠模式、建造者模式、工廠模式 結構型模式:適配器模式、橋接模式、裝飾模式、組合模式、外觀模式。
行為型模式:模版方法模式、命令模式、迭代器模式、觀察者模式、中介者模式、狀態模式、策略模式、職責鏈模式、訪問者模式。
課程會涉及所有23種Gof模式,并將重點放在此處列出的17種常見模式的深入講解 其他經典的模式
生產者-消費者模式 / IOC / 依賴注入DI / Null 模式 / 表格驅動法 / 主動對象 經常在軟件設計時使用的模式
架構模式 Pipe Filter架構模式/Layer架構模式/Microkernel Pattern/MVC/ 經典的機構級模式 此外,
本課程對軟件模塊劃分,及如何為模塊劃分職責進行了詳盡的講解及分析,揭示了軟件設計原理及設計過程;
幫助架構師掌握架構設計方法與架構設計的模式;本課還幫助設計人員掌握領域分析與建模的正確方法;
幫助設計人員進行IT數據結構設計及實例等。 課程大綱 第一單元 優秀系統與不佳系統的辨析——設計模式初探
內容一:什么是優秀的設計的設計
1. 什么是好的軟件設計和衡量的手段
2. 可擴展性(Extensibility)容易添加新的功能. 結合案例,通過那些手段如何實現該目標
3. 靈活性(Flexibility)代碼修改平穩地發生. 結合案例,通過那些手段如何實現該目標
4. 可插入性(Pluggability)容易將一個類抽出去,同時將另一個有同樣接口的類加入進來. 結合案例,通過那些手段如何實現該目標
5. 如何寫出簡練,易于理解,模塊化,層次性,設計良好,高效,優雅,并且清晰的系統。
6. 劣質代碼有什么特征
7. 劣質代碼的代價
8. 設計模式在構建優秀系統及避免不佳設計中的用途。
9. 分析真實項目,如何做的詳細設計,給我們哪些啟示,我們可以學習到什么
10. 分析我們在項目之中是那些原因導致了沒有實現這些目標.
內容二:案例 11. 某檔案移交接收系統:紛繁復雜的嵌套判斷
12. 某多媒體制作軟件:上傳-下載模塊
13. 案例涉及,需要詳細學習如下設計模式及原則:
14. 簡單工廠、單例、策略模式
15. 重點:如何組織自己的代碼和模塊:指令與查詢分離原則。
16. 對有多年編程經驗的人員,函數級的編碼是小兒科?
17. 分析模式使用前和后的對比 第二單元 設計模式與面向對象設計原則
內容一:面向對象設計原則與設計模式關系
1. 軟件設計目標,基本原則和模式關系
2. 開閉原則 3. 依賴倒置原則
4. 單一職責原則
5. 里氏替換原則
6. 合成/聚合復用原則
7. 接口隔離原則和Demeter法則
8. 通過案例進行分析,模式如何使用
內容二:案例分析—OO基本原則與設計模式
1. 通過經典面向對象案例,要求學員分別使用過程式和面向對象2種思維,進行設計
2. 進行對比2種思維的不同點和結果 3. 學員通過案例指出OO是否真正做到了它所說的價值
4. 這些小案例涉及項目開發中的常見的困境、疑惑,本節探討如何通過設計原則解決。
5. 討論設計原則與設計模式的關系,已經在沒有合適模式可用的情況下如何分析、解決問題。
涉及如下模式:
a) Fa?ade
b) 觀察者模式與表驅動法
c) Bridge模式
d) Template Method模式
e) Strategy模式 第三單元 系統/模塊中的接口設計,及對外暴露服務技巧——組織接口型模式
內容一:內存接口及Web接口的設計及討論
1. 接口分離原則 2. 面向對象的要點
3. 系統交互時,松散耦合的設計要點
4. 無狀態在接口設計中的重要性,及設計實踐
5. 接口的粒度 6. 接口調用次數與粒度的折中
7. 接口版本的設計 8. 新舊接口的兼容性設計技巧——只增不改、靈活參數等
內容二:組織接口型模式
1. 適配器模式。Adapter
a) 適配器模式介紹。
b) 容易被忽略的情況:關于接口的修改。
c) 適配器總結。 例:文件解析器系統的接口設計。
2. 外觀模式。 a) 令人望而生畏的API函數。
b) 外觀模式的作用。 c) 容易被忽略的外觀。
d) 外觀模式與適配器的辨析。 例:文件解析器系統的外觀設計。
3. 中介者模式 a) 中介者模式的使用場景。
b) 中介者模式在架構中的重要地位。
c) 中介者模式與控制者。
第四單元 如何在系統及框架中創建并管理對象/模塊? ——創建型模式
內容一:對象及模塊創建的管理
1. 對象創建與IOC模式
2. 框架設計中的對象管理——SpringBean分析
3. 在分層架構中,對象創建的要點
內容二:創建型模式
1. 單例模式。
a) 單例模式的意義。
b) 多線程中的問題。 例:引入單例模式。
2. 工廠模式 a) 工廠模式的使用場景。
b) 工廠模式與反射。 例:引入工廠模式。
3. 抽象工廠模式 a) 創建不同對象的多個系列產品。
b) 工廠模式與抽象工廠模式的區別。 例:引入抽象工廠模式。
4. 構造者模式 a) 構造者模式的應用場景。
b) 構造者模式中的控制者。
5. 原型模式
a) 作為工廠的原型 b) 利用克隆進行原型 第五單元 如何設計出高可擴展性的系統!——擴展型模式
內容一:如何應對需求的變化 —— 打造高可擴展性的系統!
1. 從技術的角度,如何應對需求的變化?
2. 高可擴展性系統的特點及達成方式的變遷
3. 框架設計的常用方法
4. 如何平衡精巧系統的設計和開發成本的投入?
5. 不要生硬地套用模式 —— 橋接模式的靈活使用 內容二:擴展型模式
6. 功能與邏輯的關系 a) 功能模塊的設計要點。
b) 邏輯模塊的設計要點。
c) 系統穩定及可擴展的秘訣。
7. 模板方法模式
a) 部分的多態。
b) 模板方法模式的使用場合。
c) 模板方法模式與IOC。 例:文件解析器中的模板方法模式。
8. 策略模式 a) 繼承與組合的辨析。
b) 多態的經典使用。
c) 無處不在的策略模式。 例:運輸系統;在多窗口系統中引入策略模式。
9. 橋接模式 a) 從“類爆炸”說起。
b) 復雜多對多的處理。
c) 僅針對接口編程是不夠的。 d) 橋接模式的要點:抽象類行為的具體實現中有重復的方法。
e) 從橋接模式到面向對象的誤區。 例:在文件解析器中引入橋接模式。
10. 狀態模式 a) 狀態模式的本質:類狀態機。
b) 狀態模式的前提條件:經常發生改變的是狀態(業務流程),而非對應的處理。
c) 狀態模式使用。
d) 狀態模式與表驅動法。
e) 策略、橋接、狀態、模板方法模式的辨析。
11. 裝飾模式 a) 裝飾模式的使用場合。
b) 裝飾模式的要點。
c) Java中的裝飾模式。 例:裝飾模式在打印中的使用。
12. 代理模式 a) 代理模式的使用場合。
b) 代理模式的要點。
c) 代理模式與AOP
13. 訪問者模式
a) 訪問者模式的使用場合。
b) 雙重分發機制。
c) 與橋接模式的比較。 例:在演示控制系統中引入橋接模式。
14. 責任鏈模式
a) 責任鏈模式的使用場合。
b) 責任鏈模式的要點。
c) 消息路由與責任鏈模式。
15. 組合模式
a) 組合模式的使用場合。
b) 組合模式的使用要點。
c) 例:組合模式在表單統計中的使用。
第六單元 系統流程控制的設計——操作型模式
內容一:系統中流程控制的設計
1. 類名暗含的意味
2. 臨時創建對象的用途
3. 工作流與命令模式
4. 消費者-生產者模式
5. 消息廣播的多種實現形態
內容二:操作型模式
6. 命令模式
1) 命令模式的特點、優點及缺點。
2) 命令模式的典型使用場合。 例:在客戶端與服務器端傳遞命令。 例:在元搜索系統中使用命令模式。
7. 觀察者模式
1) 觀察者模式的使用場景。
2) 觀察者模式與MVC。
3) 觀察者模式使用中變體。 例:用觀察者模式解決多窗口系統的聯動問題。
8. 享元模式
1) 享元模式的使用場景。
2) 內存管理:存根(stub)與享元模式。
9. 備忘錄模式
1) 備忘錄的使用場景。
10. 迭代器模式
1) Java、stl、c#中的迭代器實例。 例:構造統一的樹狀結構迭代。
11. 解析器模式:
1) 解析器模式的使用場合。
第七單元 如何才能正確使用模式
內容一:設計模式的精髓——封裝變化
1. 設計模式精髓—如何應對變化
2. 封裝變化的原則——避免“散彈槍式的外科手術”
3. 如何抽取出系統中的變化點及不變點
4. 不同因素的隔離——保護變量原則
5. 設計模式中封裝變化的思想和具體手段探討
內容二:模式案例–某訂單系統
1. 介紹項目需求情況,進行設計
2. 學習設計模式(Strategy / Abstrct Factory/ Template Method)
內容三:模式案例–某數據展示系統 1. 項目子系統背景和需求
2. 系統的設計思考過程 3. 展示如何用模式,進行設計
4. 學習設計模式(Strategy /Command/Template Method/ NULL Objecct /Adapter/表驅動法/Singleton )
內容四:模式案例–某數據分析系統
1. 項目子系統背景和需求
2. 系統的設計思考過程
3. 展示如何用模式,進行設計
4. 學習設計模式(Observer / Visitor/ Composite /Command/ Strategy /Adapter/Singleton )
第八單元 重構到模式 內容一:重構到模式----錯了再改,事不過三
1. 設計壞味道概述
2. 重構思想
3. 重構到設計模式 4. 常見設計模式的重構演化的過程
內容二:案例- 網絡數據分析系統的設計
1. 介紹項目需求情況,進行設計
2. 通過重構逐步實現設計模式
3. Framework 設計思想—好萊塢原則
4. 學習設計模式
5. Factory模式
6. Strategy模式
7. Decorator模式
8. Observer模式
9. 架構模式-分層、管道過濾器模式
10. 架構模式的重構及演變,每步的依據及效果對比
11. 從結構上考慮、從效率上考慮
第九單元 用模式去思考—對設計模式本質的思索及探討
內容一:模式案例- 數據文件處理系統
1. 項目背景介紹和前期規劃
2. 從初的需求進行分析,到系統的設計,后到編碼實現該案例,全程進行面向對象的分析,建模,設計和終的開發實現.
3. 學習IOC思想在框架設計中的重要作用
4. 在案例中自然使用模式,而非生搬硬套! (Fa?ade, Strategy、Template Method 、Mediator, Simple Factory Command,模式)
5. 案例采用逐步推演的方法,針對需求的不斷變化進行設計的演變。設計靈活的系統框架 6. 通過案例學習怎樣才能合適應用模式
內容二:設計模式的本質探討
1. 指出什么是優秀設計和丑陋設計
2. 總結自己的模式-神似而非型似
3. 探討相似模式的本質
4. “間接類”模式的推演及演化
5. “流程類”模式的推演及演化
6. 避免模式的誤用,討論模式的陷阱:在看似典型的場景,但不宜使用模式的場合。
內容三:案例- 元搜索系統分析及設計
1. 簡單背景介紹
2. 如何面對紛繁的變化因素的組合
3. 一定要使用模式嗎——如果能很好地能抽象、隔離不同因素,也許它就是模式。
4. 討論Command模式的本質。 內容四:案例- 電子文件生成
1. 簡單背景介紹
2. 使用模式的第一反應,及陷入陷阱的思索
3. 具體場景使用模式的本質討論
4. 多態的本質
5. 討論并介紹表驅動法
6. Template Method、DIP原則Strategy模式的的靈活使用——獲得優雅的設計
第十單元 大型系統中的模式運用
內容一:大型系統的及發展及核心技術 ?
應用服務和數據服務分離 ?
使用緩存改善避免數據庫瓶頸 ?
應用服務器集群和負載均衡避免運用服務器瓶頸 ?
數據庫讀寫分離 ?
用CDN及分布式文件系統加速系統響應 ?
分布式數據庫系統及NoSQL運用 ?
進行橫向的業務拆分 ? 分布式服務,
打造自己的軟件生態環境
內容二:系統的負載均衡模式 ?
HTTP 重定向負載均衡 ?
DNS 域名解析負載均衡 ?
反向代理負載均衡 ?
IP(NAT) 負載均衡 ?
數據鏈路層負載均衡 ?
負載均衡算法-hash一致性算法
內容三:系統的緩存模式 ?
客戶端緩存策略(瀏覽器緩存、本地Navtive代碼緩存)
? 代理服務器緩存 ? CDN緩存 ? 反向代理服務器緩存
? Memcached 分布式緩存集群的訪問模型 ?
Memcached 分布式緩存集群的伸縮性方案 ?
分布式緩存的一致性Hash 算法 典型案例分析:緩存策略如何應用在自己的實際項目中
內容四:分布式數據存儲策略 ? 分布式文件系統 ? 數據存儲服務器集群 ? NoSQL 數據庫


主站蜘蛛池模板: 久久综合给久久狠狠97色| 久久91精品久久91综合| 在线亚洲97se亚洲综合在线| 国产成人麻豆亚洲综合无码精品| 亚洲偷自拍拍综合网| 女人和拘做受全程看视频日本综合a一区二区视频| 亚洲丁香色婷婷综合欲色啪| 久久综合综合久久综合| 亚洲色欲久久久综合网东京热| 色噜噜狠狠狠狠色综合久一| 日日狠狠久久偷偷色综合免费| 久久综合88熟人妻| 久久久久综合国产欧美一区二区| 久久婷婷五月综合成人D啪| 综合国产在线观看无码| 亚洲综合成人网在线观看| 色综合久久久久综合体桃花网| 国产综合精品一区二区三区| 欧美日韩国产码高清综合人成| 亚洲狠狠爱综合影院婷婷| 久久综合狠狠色综合伊人| 亚洲国产综合精品一区在线播放| 色综合久久最新中文字幕| 欧美色综合久久久久久| 伊人久久大香线焦AV综合影院| 亚洲国产综合专区电影在线| 欧美成人综合视频| 日日狠狠久久偷偷色综合免费| 日韩欧国产精品一区综合无码| 99久久国产综合精品网成人影院| 激情综合丁香五月| 狠狠色综合色综合网络| 久久综合久久综合九色| 亚洲色欲久久久久综合网| 国产成人人综合亚洲欧美丁香花| 久久亚洲综合色一区二区三区| 综合久久一区二区三区| 伊人色综合九久久天天蜜桃| 久久93精品国产91久久综合| 亚洲伊人成无码综合网| 欧美综合视频在线|