欧美国产日韩一区_国产视频亚洲精品_老司机福利在线观看_成人精品视频_毛茸茸成熟亚洲人_天天干人人

名課堂 - 企業管理培訓網聯系方式

聯系電話:400-8228-121

值班手機:18971071887

Email:Service@mingketang.com

企業管理培訓分類導航

企業管理培訓公開課計劃

企業培訓公開課日歷

研發管理培訓公開課

研發管理培訓內訓課程

熱門企業管理培訓關鍵字

您所在的位置:名課堂>>公開課>>研發管理培訓公開課

軟件重構與軟件設計模式

【課程編號】:MKT049584

【課程名稱】:

軟件重構與軟件設計模式

【課件下載】:點擊下載課程綱要Word版

【所屬類別】:研發管理培訓

【時間安排】:2025年05月27日 到 2025年05月28日5900元/人

2024年11月05日 到 2024年11月07日5900元/人

2024年06月11日 到 2024年06月12日5900元/人

【授課城市】:北京

【課程說明】:如有需求,我們可以提供軟件重構與軟件設計模式相關內訓

【課程關鍵字】:北京軟件重構培訓,北京軟件設計培訓

我要報名

咨詢電話:
手  機: 郵箱:
內容背景

軟件重構是指在不改變軟件功能和外部可見性的情況下,為了改善軟件的結構,提高清晰性、可擴展性和可重用性而對軟件進行的改造。簡而言之,重構就是改進已經寫好的軟件的設計。在敏捷開發方法學中,重構常常是軟件開發循環的一部分,開發者通過增加新的測試和功能,或者重構代碼來改善內部的一致性和清晰性。重構也是代碼維護中的一部分,既不修正錯誤,又不增加新的功能性,而是用于提高代碼的可讀性或者改變代碼的結構和設計,使其在將來更容易被維護。特別是,在現有的程序的結構下,給一個程序增加一個新的行為會非常困難,因此開發人員可能先重構這部分代碼,使加入新的行為變得容易。

培訓對象

注重實效的各類軟件研發中心的負責人、設計師、架構師、項目經理、技術總監、質量部門經理、開發工程師等。

代碼重構設計重構軟件腐爛監控重構管理

開發工程師精通了解了解了解

設計師精通精通了解了解

架構師精通精通精通精通

數據庫工程師了解了解//

質量管理//精通精通

管理者//監控了解

培訓特色

本課程注重實戰,采用案例貫穿方式完成實踐,針對項目過程中技術人員常遇到的誤區進行匯總、研討,以程序員的編程思維為前提,通過大量的真實案例,詳細地介紹了重構需要注意的要點以及難點,這些全部都是講師十幾年經驗的沉淀及總結。

本課程內容理論性與實踐性都較強,采取講課、討論、實踐三者結合的方式,1/3時間講解核心思想,1/3時間動手重構實踐,1/3點評分析總結,形成一整套解決問題的方法。

培訓要點

軟件重構面臨的背景都是相似的,程序員們為了快速完成需求和上線而寫出了最基本的代碼。然后在功能的不斷擴充過程中,以打補丁的方式對代碼進行擴充,中間還會面臨著開發人員的變更和離職。逐漸地,代碼就會變得越來越臃腫,漸漸地變得難以維護。

糟糕的軟件代碼會帶來開發效率的降低,在糟糕架構下加入新功能,會大大影響新功能的代碼質量,開發和調試時間都會成倍增加;其次是故障率的提升,在質量低下的代碼中,總是容易隱藏著很多不易發現的坑,這些都會成為故障的隱患;同時,架構也會使得需求的完成大打折扣,使得設計好的目標,因為架構限制或者性能等原因,只能完成80%甚至更低。

隨著不同產品的推出,不同客戶、不同版本的發布,需要維護的遺留代碼越來越多,重構也就在所難免。不僅如此,所有的軟件系統,經過一段時間的維護,都會逐漸變成遺留系統,并且都遭遇了緩慢而不可抗拒的腐化。因此,軟件開發人員不得不面對既有系統的混亂代碼。

本課程首先深入剖析軟件質量下降的根源,提出重構是軟件變更中保持高質量的必然,講解如何運用“兩頂帽子”的方式應對變更,拒絕腐化。站在實戰的角度講解高質量軟件設計的“小步快跑”過程。接著,用真實案例講解已經代碼腐化的遺留系統是如何通過“軟件重構七步曲”,由簡入深、循序漸進地重構一個大系統。最后,以重構的角度進行實戰,講解軟件如何在不斷變更的過程中,運用設計模式來降低耦合,保持軟件設計質量不退化。

培訓內容

授課內容

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

第一單元

剖析軟件質量不斷下降的根源質量不斷下降的表現:

1.程序代碼越來越亂

2.軟件維護成本越來越高

3.軟件變更越來越困難

4.無法進行新技術的改造

以往采取的措施:

1.頭痛醫頭,腳痛醫腳

2.拋棄掉重新編寫

3.因擔心未來變化而做的過度設計

帶來的問題

1.團隊成員越來越多但效率卻越來越低

2.測試變得越來越困難而任務繁重

3.軟件系統越來越笨重而不適應未來變化

分析與反思

案例分析:一個遺留系統的演化過程

1.起初的設計

2.隨后的變更

3.質量不斷下降的過程

軟件質量下降的根源:

1.軟件總是因變更而變得越來越復雜

2.軟件結構已經不再適應復雜的軟件需求

3.必須要調整軟件結構以適應新的軟件需求

軟件是因需求變更而質量下降嗎?

案例分析:推演軟件變更的設計過程

應對軟件變更的最佳方式:兩頂帽子

1.重構原有代碼以適應新的需求

2.實現新的需求

案例:演示兩頂帽子的設計過程

第二單元

高質量的軟件設計過程以往軟件設計的過程:

1.演示以往軟件設計的過程

2.剖析以往軟件設計的問題與風險

小步快跑模式的開發過程:

1.用最快的速度開發一個最核心的功能

2.讓第一個版本運行起來并可以驗證

3.在第一個版本的基礎上不斷添加功能:

a.每次只添加一個很簡單、很單一的功能

b.每次以兩頂帽子的方式添加新功能

c.運行、調試與驗證

d.重復這個過程添加下一個功能

4.復雜的系統就是由一次次正確開發的不斷積累而成

案例:演示小步快跑的開發過程

小步快跑解決的問題:

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.評價軟件質量的工具

第三部分 運用設計模式實戰軟件重構

第五單元

適配器模式適配器模式的應用

1.適配器模式解決第三方框架帶來的難題

案例:Hibernate適配器的設計

2.適配器模式解決外部接口的設計難題

案例:第三方支付接口的設計

案例:財務數據接口的設計

第六單元

策略模式策略模式的應用

1.案例:工資發放功能設計改進的過程

1)工資發放功能的Java實現

2)工資發放功能的C++實現

2.案例:數據導出功能的設計實現

1)深入理解開放-封閉原則

2)數據導出功能的變更與改進過程

3.案例:財務憑證生成功能的設計過程

1)財務憑證生成功能的初始需求與設計

2)財務憑證生成功能的擴展與分析過程

3)財務憑證生成功能的最終設計

4)深入理解單一職責原則

5)學習“兩頂帽子”的設計方式

練習:財務憑證生成功能的設計與實現

第七單元

工廠模式探討軟件設計中遇到的難題

1.依賴反轉原則的設計難題

2.開放-封閉原則的設計難題

3.探討工廠模式的本質

簡單工廠模式

1.簡單工廠模式的C++實現

2.基于配置的簡單工廠模式

3.剖析簡單工廠如何實現依賴反轉原則

案例:剖析Spring的beanFactory

4.解讀工廠模式對設計的重大意義

5.講解如何創建一個工廠

1)創建工廠的步驟與關鍵點

2)利用Spring框架簡化工廠類的設計

案例:數據導出功能的工廠實現

工廠方法模式

1.工廠方法模式的概念

2.工廠方法模式的應用

案例:SAX框架的工廠類設計

抽象工廠模式

1.抽象工廠模式的概念

抽象工廠模式的實現

案例:標簽庫的設計改進過程

1)最初的標簽庫設計

2)運用簡單工廠的標簽庫設計

3)運用工廠方法的標簽庫設計

4)運用抽象工廠的標簽庫設計

5)最終基于配置的標簽庫設計

第八單元

單例模式和原型模式單例模式的應用

1.單例模式帶來的設計變革

1)充血模型vs.貧血模型

2)探討單例模式與性能問題

2.單例模式改變了很多軟件的設計

原型模式的應用

1.工廠類在提供產品時遇到的設計問題

2.原型模式及其概念

原型模式的設計實現

案例:函數調用的無副作用問題

案例:JavsScript中的原型模式

第九單元

模板方法模式模板方法模式的作用與技巧

案例:一個工廠模板的設計與實現

深入理解不要重復自己原則

1.重復代碼帶來的嚴重后果

2.散彈式修改及其解決思路

3.探討實現代碼復用的難題

4.代碼復用在不同場合采用的方法

5.模板方法模式在代碼復用中的作用

第十單元

裝飾者模式及橋接模式裝飾者模式的應用

案例:多數據源的設計實現

1.多數據源問題的分析設計過程

2.多數據源的設計與實現

案例:商城收銀系統的設計變更過程

1.商城收銀系統期初的設計

2.混合策略的設計與實現

3.多層裝飾者的設計與實現

重新理解里氏替換原則

1.透明的功能擴展

2.里氏替換原則

練習:商場收銀系統的2種設計與實現

橋接模式的應用

案例:員工管理與工資發放的設計

1.員工管理與工資發放帶來的繼承泛濫問題

2.采用橋接模式的設計與實現

案例:查詢支持類的設計

1.查詢支持類遭遇的繼承泛濫問題

2.查詢支持類的解決方案

3.單例模式下查詢支持類的設計

深入體會單一職責原則

范老師

航天信息前首席架構師,暢銷書籍《大話重構》作者,規模化敏捷SPC,軟件架構及重構的客座講師,獨立咨詢顧問。先后參與了數十個國內大型軟件項目,涉及國家財政、軍工、稅務、醫療等領域的大數據建設、風險防控與人工智能研究,互聯網及大數據轉型的實踐者與倡導者

我要報名

在線報名:軟件重構與軟件設計模式(北京)

主站蜘蛛池模板: av性色全交蜜桃成熟时 | 中文字幕在线一区 | 国产精品高清在线 | 国产成人精品午夜 | 色爱综合| 日韩欧美一区在线 | 在线免费看黄 | 欧美国产日韩在线观看成人 | 欧美日韩国产三级 | 久久久精品视频一区二区三区 | 国产成人精品一区二 | 97人人澡人人爽91综合色 | 日韩欧美精品一区 | 成人不卡在线 | 久久一区二区av | 精品久久久久久亚洲精品 | 99国产精品一区二区三区 | 夜夜干夜夜操 | 天天插天天操 | 一区二区三区在线观看视频 | 国产激情91久久精品导航 | 国产一区精品在线 | 国产精品久久久久久久久久99 | 91在线视频观看 | 人人做人人澡人人爽欧美 | 在线观看免费观看在线91 | 日韩av一区二区在线观看 | 99视频在线免费观看 | 夜夜夜久久 | 国产成人免费视频网站高清观看视频 | 久久综合成人精品亚洲另类欧美 | 99久久久国产精品 | 日韩成人在线播放 | 亚洲欧美日韩激情 | 91精品国产乱码久久蜜臀 | 男人av的天堂 | 日韩欧美亚洲 | 午夜在线视频 | 天天插天天操 | 欧美freesex黑人又粗又大 | 午夜欧美 |