欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培企業IT培訓 400-626-7377 400-626-7377
軟件設計模式與軟件重構實戰訓練營

你是否遇到過這樣的場景

一課帶你實戰軟件設計及重構,從根源上解決問題

為什么需要學習軟件設計?

提高軟件開發效率

提高軟件開發效率

在編碼之前制定設計方案,避免在開發過程中頻繁修改代碼,提高軟件開發效率

提高軟件質量

提高軟件質量

編碼之前進行全面的需求分析和規劃,從而設計出更加優秀的軟件架構和模塊設計,提高軟件的質量和可靠性

方便軟件維護和升級

方便軟件維護和升級

設計出易于維護和升級的軟件系統,減少維護成本和升級難度

減少軟件開發成本

減少軟件開發成本

在開發過程中發現問題和缺陷,避免在后期進行大量的修改和調整,從而減少軟件開發成本

為什么軟件需要重構?

以真實案例為切入點,全面掌握軟件設計及重構

什么是高質量的軟件設計 詳細講解軟件設計原則 軟件設計模式理論講解與應用案例 剖析軟件質量不斷下降的根源 高質量的軟件設計過程 如何進行軟件重構
  • ① 軟件的質量保證:內部質量與外部質量
  • ② 高質量軟件設計的標準:易讀、易于維護、易于變更
  • ① 領域驅動設計
  • ② 案例講解軟件設計原則:低耦合、高內聚
  • ③ 探討軟件設計模式:由來、發展及對高質量軟件的作用
  • ① 適配器模式
  • ② 策略模式
  • ③ 工廠模式
  • ④ 單例模式
  • ⑤ 原型模式
  • ⑥ 模板方法模式
  • ⑦ 裝飾者模式
  • ⑧ 橋接模式
  • ⑨ 享元模式
  • ⑩ 其它設計模式

  • 觀察者模式
    代理模式
    命令模式
    外觀模式
    構建器模式
    組合模式
    中介者模式
    迭代器模式
  • ① 質量不斷下降的表現及根源
  • ② 案例分析:一個遺留系統的演化過程
  • ① 案例講解軟件設計原則
  • ② 小步快跑模式的開發過程
  • ① 軟件重構的概念
  • ② 關于重構的討論
  • ③ 案例分析:重構一個大型遺留系統
  • ④ 案例:智能溫控器分析設計過程(嵌入式+物聯網)
點擊獲取課程資料

理論+實戰,系統進階高級工程師

適合人群

點擊咨詢課程價格

軟件設計模式與軟件重構實戰課程大綱

第1-2天 軟件設計模式授課內容 第3-4天 軟件重構實戰授課內容

第一部分 高質量軟件設計

第一章 什么是高質量的軟件設計 第二章 軟件設計原則

第二部分 軟件設計模式

第三章 適配器模式 第四章 策略模式 第五章 工廠模式 第六章 單例模式 第七章 原型模式 第八章 模板方法模式 第九章 裝飾者模式 第十章 橋接模式 第十一章 享元模式 第十二章 其它設計模式

情景劇:軟件設計焦慮癥
1.上次的設計太糟糕了,痛下決心以后要好好設計
2.再次進行軟件設計時卻不知道該怎樣設計
探討:如何進行高質量的軟件設計 什么是高質量的軟件設計
1.軟件的質量保證:內部質量與外部質量
2.高質量軟件設計的標準:易讀、易于維護、易于變更

易于閱讀
1.規范代碼、編寫注釋與表明動機
案例:代碼編寫范例與簡便易行的方法
2.領域驅動設計
易于維護與變更
1.互聯網+帶來的挑戰
2.案例講解軟件設計原則
探討軟件設計模式

什么是適配器模式
1.軟件設計中外部接口的難題
2.第三方框架帶來的設計難題
3.適配器模式及其概念
適配器模式的應用 1.適配器模式解決第三方框架帶來的難題
案例:Hibernate適配器的設計
2.適配器模式解決外部接口的設計難題
案例:第三方支付接口的設計
案例:財務數據接口的設計

什么是策略模式 1.工資發放功能遇到的難題
2.策略模式及其概念
策略模式的應用
1.案例:工資發放功能設計改進的過程
2.案例:數據導出功能的設計實現
3.案例:財務憑證生成功能的設計過程
練習:財務憑證生成功能的設計與實現

探討軟件設計中遇到的難題 1.依賴反轉原則的設計難題
2.開放-封閉原則的設計難題
3.探討工廠模式的本質
簡單工廠模式
1.簡單工廠模式的C++實現
2.基于配置的簡單工廠模式
3.剖析簡單工廠如何實現依賴反轉原則
案例:剖析Spring的beanFactory
4.解讀工廠模式對設計的重大意義
5.講解如何創建一個工廠
案例:數據導出功能的工廠實現
工廠方法模式 1.工廠方法模式的概念
2.工廠方法模式的應用
案例:SAX框架的工廠類設計
抽象工廠模式 1.抽象工廠模式的概念
2.抽象工廠模式的實現
案例:標簽庫的設計改進過程

什么是單例模式 1.設計工廠類面臨的問題
2.單例模式及其概念
3.如何實現單例模式
單例模式的應用 1.單例模式帶來的設計變革
2.單例模式改變了很多軟件的設計

什么是原型模式
1.工廠類在提供產品時遇到的設計問題
2.原型模式及其概念
原型模式的設計實現 案例:函數調用的無副作用問題
案例:JavaScript中的原型模式

什么是模板方法模式 1.煮咖啡給我們的啟示
2.設計工廠類的新思路
3.模板方法模式及其概念
模板方法模式的作用與技巧
案例:一個工廠模板的設計與實現
深入理解不要重復自己原則
1.重復代碼帶來的嚴重后果
2.散彈式修改及其解決思路
3.探討實現代碼復用的難題
4.代碼復用在不同場合采用的方法
5.模板方法模式在代碼復用中的作用

什么是裝飾者模式
1.業務量增長帶來的多數據源問題
2.運用裝飾者模式巧妙解決多數據源問題
3.裝飾者模式及其概念
裝飾者模式的應用
案例:多數據源的設計實現
1.多數據源問題的分析設計過程
2.多數據源的設計與實現
案例:商城收銀系統的設計變更過程
1.商城收銀系統期初的設計
2.混合策略的設計與實現
3.多層裝飾者的設計與實現
重新理解里氏替換原則
1.透明的功能擴展
2.里氏替換原則
練習:商場收銀系統的2種設計與實現

什么是橋接模式
1.對象繼承的泛濫
2.橋接模式及其概念
橋接模式的應用
案例:員工管理與工資發放的設計
1.員工管理與工資發放帶來的繼承泛濫問題
2.采用橋接模式的設計與實現
案例:查詢支持類的設計
1.查詢支持類遭遇的繼承泛濫問題
2.查詢支持類的解決方案
3.單例模式下查詢支持類的設計
深入體會單一職責原則

什么是享元模式
1.Hibernate是怎樣訪問數據的
2.享元模式及其概念
享元模式的應用
案例:數據緩存的設計實現
案例:享元模式在大數據中的應用

觀察者模式:JobHunter的情景劇
代理模式:老板與秘書的差異
命令模式:像工作流一樣處理業務
外觀模式:超級家庭影院的煩惱
構建器模式:SQL Builder的設計
組合模式:如何構建一棵樹
中介者模式:QQ在溝通中的作用
迭代器模式:如何順序訪問一個集合

第一部分 為什么軟件需要及時重構

第一單元 剖析軟件質量不斷下降的根源 第二單元 高質量的軟件設計過程

第二部分 如何進行軟件重構

第三單元 何為重構 第四單元 關于重構的討論

質量不斷下降的表現:
1.程序代碼越來越亂
2.軟件維護成本越來越高
3.軟件變更越來越困難
4.無法進行新技術的改造
以往采取的措施:
1.頭痛醫頭,腳痛醫腳
2.拋棄掉重新編寫
3.因擔心未來變化而做的過度設計
帶來的問題
1.團隊成員越來越多但效率卻越來越低
2.測試變得越來越困難而任務繁重
3.軟件系統越來越笨重而不適應未來變化
分析與反思
案例分析:一個遺留系統的演化過程
1.起初的設計
2.隨后的變更
3.質量不斷下降的過程
軟件質量下降的根源:
1.軟件總是因變更而變得越來越復雜
2.軟件結構已經不再適應復雜的軟件需求
3.必須要調整軟件結構以適應新的軟件需求
軟件是因需求變更而質量下降嗎?
案例分析:推演軟件變更的設計過程
應對軟件變更的最佳方式:兩頂帽子
1.重構原有代碼以適應新的需求
2.實現新的需求
案例:演示兩頂帽子的設計過程
案例:財務憑證生成程序的設計過程

案例講解軟件設計原則
1.低耦合
2.高內聚
以往軟件設計的過程: 3.演示以往軟件設計的過程
4.剖析以往軟件設計的問題與風險
小步快跑模式的開發過程:
1.用最快的速度開發一個最核心的功能
2.讓第一個版本運行起來并可以驗證
3.在第一個版本的基礎上不斷添加功能
案例:演示小步快跑的開發過程
小步快跑解決的問題: 1.復雜功能有效地解耦
2.代碼編寫總是可測試與驗證
3.簡化設計與思考的復雜度
4.適時重構以避免軟件退化
案例:數據推送程序的設計過程

軟件重構的概念 1.重構是一系列代碼的等量變換
案例:一個Hello World重構過程
2.重構的保險索:自動化測試
案例:Hello World的自動化測試過程
3.軟件修改的四種動機——重構的價值
4.一個真實的謊言——重構的誤區
5.重構的主要方法與技巧
案例分析:重構一個大型遺留系統
1.重構第一步:分解大函數
超級大函數及其危害
案例:演示大函數產生的過程
案例:演示抽取方法操作步驟
實踐抽取方法會遇到的問題和解決方案
2.重構第二步:拆分大對象
超級大對象及其危害
案例:演示超級大對象的產生過程
案例:演示抽取類的操作步驟
講解單一職責設計原則
案例:演示“分久必合,合久必分”的重構過程
3.重構第三步:提高復用率
講解順序編程及其危害
“不要重復代碼”原則
案例:提高代碼復用的6個方法
案例:演示新增代碼時的代碼復用過程
用靜態檢查工具檢查重復代碼
4.重構第四步:可擴展設計
過度設計 vs. 恰如其分的設計
講解“開放-封閉”的設計原則
案例:講解可擴展設計的4個方法
案例:講解新增代碼的可擴展設計過程
5.重構第五步:降低耦合度
案例:講解接口、實現與工廠模式
案例:講解外部接口解耦與適配器模式
6.重構第六步:系統分層
反思軟件架構需要怎樣的分層結構
遺留系統如何擁抱需求變化
遺留系統如何應對技術變革
7.重構第七步:領域驅動設計
領域驅動設計的概念
講解領域模型分析方法
案例:智能溫控器分析設計過程(嵌入式+物聯網)
練習:重構一個小程序并編寫測試腳本

什么時候重構
1.重構是一種習慣
2.重構讓程序可讀
3.重構,才好復用
4.先重構,再擴展
5.緊急任務時的重構
測試的困境 1.重構初期的困局
2.解耦與自動化測試
3.建立自動化測試體系
重構的評價
1.評價軟件質量的指標
2.評價軟件質量的工具

主站蜘蛛池模板: 精品AV无码国产一区二区 | 男人天堂综合 | 老色鬼永久精品网站 | 久久69国产精品久久69软件 | 国产亚洲精品久久久久久无几年桃 | 国产成人情侣激情视频 | 欧美日韩在线精品一区二区三区激情综合 | 性奴秘书裸侍跪趴等主人玩 | 久久精品黄AA片一区二区三区 | 欧美一区二区三曲的 | 欧美va在线视频 | 麻豆av网| 4HU四虎永久免费地址WW416 | 啊灬啊灬啊灬快灬深用力A片 | 国产GAYSEXCHINA男 | 黑色蕾丝丝袜麻麻好紧好爽 | 欧洲熟妇色XXXX欧美老妇免费 | 大地资源在线观看中文免费 | 免费无码黄十八禁网站在线观看 | 国产精品乱码色情一区 | 麻豆bt | 中文字幕乱码熟妇五十中出 | 免费大黄网站 | 蜜臀性色AV免费 | 黑人粗长大战亚洲女 | 在线一区视频观看 | 色AV综合AV综合无码网站 | 中文字幕av一区 | 老师你下面太紧进不去动态图 | 大战丰满人妻性色Av偷偷 | 亚洲AV片不卡无码久久嫩模 | 西西4444WWW大胆无码 | 无码av动漫精品一区二区免费 | 亚洲综合色噜噜狠狠网站超清 | 中文字幕高清在线观看 | 色综合色国产热无码一 | 精品久久久无码人妻字幂 | 2018高清一道国产 | 久久精品国产亚洲77777 | 亚洲成av人影院 | 午夜久久久久久久久久久久久捆绑 |