曙海教育集團
全國報名免費熱線:4008699035 微信:shuhaipeixun
或15921673576(微信同號) QQ:1299983702
首頁 課程表 在線聊 報名 講師 品牌 QQ聊 活動 就業
 
軟件設計模式(整潔代碼與重構)高級培訓
 
   班級規模及環境--熱線:4008699035 手機:15921673576( 微信同號)
       每期人數限3到5人。
   上課時間和地點
開課地址:【上海】同濟大學(滬西)/新城金郡商務樓(11號線白銀路站)【深圳分部】:電影大廈(地鐵一號線大劇院站) 【武漢分部】:佳源大廈【成都分部】:領館區1號【沈陽分部】:沈陽理工大學【鄭州分部】:錦華大廈【石家莊分部】:瑞景大廈【北京分部】:北京中山學院 【南京分部】:金港大廈
最新開班 (連續班 、周末班、晚班):2020年3月16日
   實驗設備
     ☆資深工程師授課
        
        ☆注重質量 ☆邊講邊練

        ☆合格學員免費推薦工作
        ★實驗設備請點擊這兒查看★
   質量保障

        1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽;
        2、培訓結束后,授課老師留給學員聯系方式,保障培訓效果,免費提供課后技術支持。
        3、培訓合格學員可享受免費推薦就業機會。

課程大綱
 

體現簡單之美的設計方案
可重用的對象與組件
支持良好的可擴展性
充分的測試覆蓋率
可讀性高的代碼;
案例分析
代碼閱讀:通過運用組合方法模式思想對代碼進行重構,進而演化為 Template Method模式去除重復代碼
代碼閱讀:分析面向對象設計方法所不能解決的重復問題,從而引入函數式思想去除重復
郵件服務器:分析郵件服務器代碼暴露的問題,在可重用性、代碼可維護性、可擴展性等諸多方面著手,剖析代碼壞味道。
面向對象的設計要素
合理封裝的要點
迪米特法則
繼承與委派的區別
關注點分離原則
多態與抽象
案例分析
報表系統之參數處理:了解封裝的本質,明確職責的分配以及智能對象的意義,理解 “信息專家”模
式。
事務處理的設計:通過分析職責的承擔者,從而辨別職責的分配,并以組合橋接的方式進行抽象的分離。
電子商務系統之訂單處理:對行為的封裝,職責的委派而非繼承的方式,進而重構到 Command模式。
面向對象設計核心的SOLID原則
單一職責原則(SRP):該原則是合理封裝對象,分配職責的重要原則;
開放封閉原則(OCP):該原則體現了擴展式開發的核心思想;
Liskov替換原則(LSP):可以將該原則視為是對是否正確運用繼承的檢驗標準;

接口隔離原則(ISP):對于接?的粒度進行規劃,以便于設計出更好的接口;
依賴倒置原則(DCP):對于依賴和解耦的分析,利用抽象保證設計的可擴展性;
議題二:整潔代碼與重構
編寫整潔的代碼
糟糕的代碼與混亂的代價,整潔代碼的藝術;
如何對變量、方法和類進行命名;
如何設計方法,遵循 DRY與CQS原則;
如何進行錯誤處理和異常處理;
如何組織類和包;
案例分析
給出真實項目中真實的代碼片段,對這些代碼進行分析,并利用整潔代碼的原則進行改善。這些代碼涉及到的問題包括:循環嵌套太多,方法命名不合理,缺乏足夠的封裝,性能問題;
通過重構改善既有代碼
破窗理論與重構的原則,包括重構與設計的關系,重構的時機和開展重構的原因介紹代碼的壞味道:詳細介紹各種代碼的壞味道,包括重復的代碼、過長函數、過大類、依戀情結、平行繼承體系、發散式變化、霰彈式修改等 22種壞味道。
介紹常見的重構手法,例如提取參數、提取方法、提取類、搬移方法、提取參數對象,以委托取代繼承等,并利用實際的案例展現如何對丑陋的代碼進行重構。
案例分析
對媒體管理系統的壞味道識別,利用重構改善代碼,并逐步引入 Strategy模式與Visitor模式,進行改善設計。
議題三:合理的職責分配是良好設計的基礎
職責驅動設計
職責的層次:包括職責層次的識別、職責層次與軟件架構層次之間的關系、職責與概念、規約與實現
對象的角色:角色、職責與協作是三位一體的關系,角色是發起職責的對象,職責則應該是對象之間的協作
模塊級的職責分配:如何根據職責對模塊進行分解,了解高內聚、松耦合原則。
案例分析
對郵件服務器進行分析,通過分辨職責層次,來改善設計。并提出需求變更,從而引進對觀察者模式、策略模式、簡單工廠模式、調停者模式與職責鏈模式的對比與分析;
處理HTTP請求與應答,體現信息持有者角色;
JMS對Queue的創建體現構造者角色;
稅務報告的生成體現服務提供者角色;
服務定位器體現協調者角色;
內容驗證器體現控制者角色;
EISaaS的模塊劃分;
基于AKKA的REST框架Spray;
國際報稅系統的架構演進,提出模塊重用的方式;
職責分配遵循的原則與模式
分析單一職責原則:分析該原則的核心思想,關注對象的變化點
專家模式:專家模式的核心思想是信息的持有者是操作該信息的專家
自治對象:分析了自治對象的特征,分別包括:最小完備,穩定空間,自我履行與獨立進化
案例分析
設備狀態的遷移:利用 “自治對象”思想逐步引入State模式,并結合實際需求分析標準 State模式的問題,從而對該模式進行改進
議題四:應對需求的變化,設計可擴展的軟件
如何應對需求的變化
抽象的關鍵在于尋找多個對象(或行為)具有的共同特征,并對特性進行泛化
函數式非凡的抽象能力
識別變化點,對變化進行封裝
解耦具體依賴:介紹常見的解除具體依賴的方法,包括表驅動法、配置與反射、IoC容器、慣例優于配置
案例分析 *項目管理模型的抽象,通過對多種項?管理過程進行分析,對各種模型概念進行分類,并抽象出模型的共同特征,從而簡化模型; *電子商務系統的票據業務規則,引用 Speci?cation模式; *CIMS系統的機器加載策略,引? Strategy模式; *短信服務,引用Facade模式與Adpater模式; *人力資源系統考勤模塊,介紹 Gateway模式; * URL Web請求,講解如何解耦具體依賴;
擴展式設計
擴展式設計的過程
案例分析
消息隊列規范的設計:通過分析 JMS、MSMQ的設計,理解抽象的含義,例如理解面向接?設計、接?隔離原則、按意圖設計、 Facade模式;

保單問卷調查:講解如何從壞設計逐步重構到 Visitor模式;
議題五:設計模式的本質
設計模式的境界
初學者:拔劍四顧心茫然,不知道該如何運用設計模式
熟練者:過尤不及,為模式?模式,常常導致設計過度
精通者:無招勝有招,掌握了設計模式的本質,能夠恰如其分地運用設計模式
設計的常見問題
理論與設計無法有效結合
過度運用設計模式
急于編碼,沒有有效的設計
設計模式的本質
合理的職責分配是基礎
封裝并抽象變化是核心
合理運用面向對象設計思想
合理運用面向對象設計原則
案例分析:JUnit框架
通過全面剖析JUnit測試框架,了解大師的設計藝術,展現 JUnit是如何保證框架的簡單、可擴展、可重用。內容包括: * JUnit的組件結構 * JUnit的Test Case設計 *如何支持Test Result顯?的擴展 * JUnit中如何通過復雜的設計來簡化用戶的使用


 


 


 

 
  備案號:備案號:滬ICP備08026168號-1 .(2024年07月24日)....................
主站蜘蛛池模板: 在线综合亚洲中文精品| 美国十次狠狠色综合| 区三区激情福利综合中文字幕在线一区亚洲视频1| 99久久国产综合精品女同图片| 国产色综合一二三四| 婷婷色香五月激情综合2020| 色狠狠久久AV五月综合| 亚洲伊人久久大香线蕉综合图片| 国产精品综合久成人| 亚洲欧美综合在线中文| 亚洲国产综合91精品麻豆| 久久综合成人网| 国产成人亚洲综合一区| 图图资源网亚洲综合网站| 女人和拘做受全程看视频日本综合a一区二区视频| 亚洲国产综合无码一区| 亚洲欧美综合在线天堂| 国产亚洲欧美日韩综合综合二区| 国产亚洲综合色就色| 在线亚洲97se亚洲综合在线| 区三区激情福利综合中文字幕在线一区| 欧美日韩综合一区在线观看| 国产激情电影综合在线看| 人人狠狠综合久久亚洲88| 激情综合网五月| 日韩人妻无码一区二区三区综合部| 7国产欧美日韩综合天堂中文久久久久| 婷婷国产天堂久久综合五月| 六月婷婷国产精品综合| 欧美综合欧美视频| 狠狠久久综合| 狠狠综合久久综合中文88| 色婷婷综合久久久中文字幕| 在线综合亚洲中文精品| 婷婷久久综合九色综合绿巨人| 一本大道久久a久久精品综合| 欧美色综合久久久久久| 欧美亚洲综合色| 久久综合九色综合网站| 狠狠色综合网站久久久久久久高清| 欧美亚洲综合激情在线|