精彩视频亚洲无码_台湾香港经典免费三级网站_国产精品久久精品毛片_国产日韩欧美云霸高清一区_深夜福利视频一区二区在线观看_自拍一级av毛片_美女日批软件_2021在线观看无码_美女下面被插视频免费网站_亚洲日韩强奸在线视频一区二区

課程

課程介紹

        本課程不僅講解高質(zhì)量軟件設計的理論知識,更關鍵是將這些知識投放到各個真實的設計場景中。在這些場景中,可以看到我們要面對的設計難題,通過對設計難題的深入剖析,尋找問題的根源,對癥下藥,從而制訂出正確的設計方案。課程的案例選取了許多在需求變更中不斷變化的設計過程,從而用慢動作的手法展現(xiàn)了,最初的需求與設計是怎樣,第一次變更的設計,第二層變更的設計,第三次變更的設計…這樣的過程展示了,如何在需求變更的過程中,通過每一次正確的設計,不讓軟件退化,來保證高質(zhì)量的軟件設計。
        首先深入剖析軟件質(zhì)量下降的根源,提出重構(gòu)是軟件變更中保持高質(zhì)量的必然,講解如何運用“兩頂帽子”的方式應對變更,拒絕腐化。站在實戰(zhàn)的角度講解高質(zhì)量軟件設計的“小步快跑”過程。接著,用真實案例講解已經(jīng)代碼腐化的遺留系統(tǒng)是如何通過“軟件重構(gòu)七步曲”,由簡入深、循序漸進地重構(gòu)一個大系統(tǒng)。課程的最后,更加深層次地講解軟件重構(gòu)面臨的難題,以及有效地解決之道。

培訓對象

初中高級工程師、企業(yè)架構(gòu)師、軟件設計師;
各類軟件研發(fā)中心的軟件設計師、架構(gòu)師、項目經(jīng)理、技術總監(jiān)、質(zhì)量部門經(jīng)理;
對于重構(gòu)技術懷有疑問和困惑,需要梳理解答的團隊和個人;
學員基礎:
目前面臨復雜遺留系統(tǒng),必須要維護和重構(gòu);
具有面向?qū)ο蟮幕靖拍?,熟悉基本設計模式。

課程收益

通過大量的真實案例,詳細地介紹軟件設計過程中需要注意的要點以及難點;
課程1/3時間講解核心思想,1/3時間動手重構(gòu)實踐,1/3點評分析總結(jié);
從而切實有效地提高學員的設計開發(fā)水平,有效地改善軟件設計質(zhì)量。

知識概要

-- 什么是高質(zhì)量的軟件設計;
-- 軟件設計原則;
-- 適配器模式;
-- 策略模式;
-- 工廠模式;
-- 單例模式; 
-- 原型模式;
-- 模板方法模式;
-- 裝飾者模式;
-- 橋接模式;
-- 享元模式;
-- 其它設計模式;
-- 剖析軟件質(zhì)量不斷下降的根源;
-- 高質(zhì)量的軟件設計過程;
-- 何為重構(gòu);
-- 關于重構(gòu)的討論。

課程大綱

模塊

學習內(nèi)容

第一天AM

軟件設計模式

第一部分 高質(zhì)量軟件設計

第一章:什么是高質(zhì)量的軟件設計

情景?。很浖O計焦慮癥

1)上次的設計太糟糕了,痛下決心以后要好好設計

2)再次進行軟件設計時卻不知道該怎樣設計

探討:如何進行高質(zhì)量的軟件設計

1)軟件的質(zhì)量保證:內(nèi)部質(zhì)量與外部質(zhì)量

2)高質(zhì)量軟件設計的標準:易讀、易于維護、易于變更

第二章:軟件設計原則

易于閱讀:

易于維護與變更

探討軟件設計模式:

1)設計模式的由來

2)設計模式的發(fā)展

3)設計模式對高質(zhì)量軟件設計的作用

第二部分 軟件設計模式

第三章:適配器模式

什么是適配器模式

適配器模式的應用

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

案例:Hibernate適配器的設計

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

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

案例:財務數(shù)據(jù)接口的設計

第一天PM

第四章:策略模式

什么是策略模式

策略模式的應用

案例:工資發(fā)放功能設計改進的過程

案例:數(shù)據(jù)導出功能的設計實現(xiàn)

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

練習:財務憑證生成功能的設計與實現(xiàn)

第五章:工廠模式

探討軟件設計中遇到的難題

簡單工廠模式

案例:數(shù)據(jù)導出功能的工廠實現(xiàn)

工廠方法模式

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

抽象工廠模式

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

第六章:單例模式

什么是單例模式

單例模式的應用

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

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

第二天AM

第七章:原型模式

什么是原型模式

1)工廠類在提供產(chǎn)品時遇到的設計問題

2)原型模式及其概念

原型模式的設計實現(xiàn)

案例:函數(shù)調(diào)用的無副作用問題

案例:JavsScript中的原型模式

第八章:模板方法模式

什么是模板方法模式

1)煮咖啡給我們的啟示

2)設計工廠類的新思路

3)模板方法模式及其概念

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

案例:一個工廠模板的設計與實現(xiàn)

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

第九章:裝飾者模式

什么是裝飾者模式

1)業(yè)務量增長帶來的多數(shù)據(jù)源問題

2)運用裝飾者模式巧妙解決多數(shù)據(jù)源問題

3)裝飾者模式及其概念

裝飾者模式的應用

案例:多數(shù)據(jù)源的設計實現(xiàn)

案例:商城收銀系統(tǒng)的設計變更過程

重新理解里氏替換原則

1)透明的功能擴展

1)里氏替換原則

練習:商場收銀系統(tǒng)的2種設計與實現(xiàn)

第二天PM

第十章:橋接模式

什么是橋接模式

1)對象繼承的泛濫

2)橋接模式及其概念

橋接模式的應用

案例:員工管理與工資發(fā)放的設計

案例:查詢支持類的設計

深入體會單一職責原則

第十一章:享元模式

什么是享元模式

1)Hibernate是怎樣訪問數(shù)據(jù)的

2)享元模式及其概念

享元模式的應用

案例:數(shù)據(jù)緩存的設計實現(xiàn)

案例:享元模式在大數(shù)據(jù)中的應用

第十二章:其它設計模式

觀察者模式:JobHunter的情景劇

代理模式:老板與秘書的差異

命令模式:像工作流一樣處理業(yè)務

外觀模式:超級家庭影院的煩惱

構(gòu)建器模式:SQL Builder的設計

組合模式:如何構(gòu)建一棵樹

中介者模式:QQ在溝通中的作用

迭代器模式:如何順序訪問一個集合

第三天AM

軟件重構(gòu)實戰(zhàn)

第一部分 為什么軟件需要及時重構(gòu)

第一單元:剖析軟件質(zhì)量不斷下降的根源

質(zhì)量不斷下降的表現(xiàn)/以往采取的措施/帶來的問題/分析與反思

案例分析:一個遺留系統(tǒng)的演化過程

軟件質(zhì)量下降的根源

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

2)軟件結(jié)構(gòu)已經(jīng)不再適應復雜的軟件需求

3)必須要調(diào)整軟件結(jié)構(gòu)以適應新的軟件需求

軟件是因需求變更而質(zhì)量下降嗎?

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

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

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

案例:財務憑證生成程序的設計過程

第二單元:高質(zhì)量的軟件設計過程

案例講解軟件設計原則

1)低耦合

案例:購票業(yè)務類與數(shù)據(jù)訪問類

案例:需求變更與可擴展點設計

案例:Rectangle/Square的問題

案例:查詢參數(shù)傳遞類的問題

2)高內(nèi)聚

案例:財務憑證變更帶來的問題

案例:超級大函數(shù)與大對象的難題

案例:MySQL讀寫分離的改造過程

以往軟件設計的過程

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

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

小步快跑模式的開發(fā)過程

案例:演示小步快跑的開發(fā)過程

案例:數(shù)據(jù)推送程序的設計過程

第三天PM

第二部分 如何進行軟件重構(gòu)

第三單元:何為重構(gòu)

軟件重構(gòu)的概念

1)重構(gòu)是一系列代碼的等量變換

案例:一個Hello World重構(gòu)過程

2)重構(gòu)的保險索:自動化測試

案例:Hello World的自動化測試過程

3)軟件修改的四種動機——重構(gòu)的價值

4)一個真實的謊言——重構(gòu)的誤區(qū)

5)重構(gòu)的主要方法與技巧

案例分析:重構(gòu)一個大型遺留系統(tǒng)

1)重構(gòu)第一步:分解大函數(shù)

案例:演示大函數(shù)產(chǎn)生的過程

案例:演示抽取方法操作步驟

2)重構(gòu)第二步:拆分大對象

案例:演示超級大對象的產(chǎn)生過程

案例:演示抽取類的操作步驟

案例:演示“分久必合,合久必分”的重構(gòu)過程

3)重構(gòu)第三步:提高復用率

案例:提高代碼復用的6個方法

案例:演示新增代碼時的代碼復用過程

4)重構(gòu)第四步:可擴展設計

案例:講解可擴展設計的4個方法

案例:講解新增代碼的可擴展設計過程

5)重構(gòu)第五步:降低耦合度

案例:講解接口、實現(xiàn)與工廠模式

案例:講解外部接口解耦與適配器模式

6)重構(gòu)第六步:系統(tǒng)分層

反思軟件架構(gòu)需要怎樣的分層結(jié)構(gòu)

遺留系統(tǒng)如何擁抱需求變化

遺留系統(tǒng)如何應對技術變革

7)重構(gòu)第七步:領域驅(qū)動設計

案例:智能溫控器分析設計過程(嵌入式+物聯(lián)網(wǎng))

練習:重構(gòu)一個小程序并編寫測試腳本

第四單元:關于重構(gòu)的討論

什么時候重構(gòu)

測試的困境

重構(gòu)的評價

認證過程

無認證考試

開班信息

暫無開班信息