欧美色欧美亚洲另类七区,惠美惠精品网,五月婷婷一区,国产亚洲午夜

課程目錄:軟件設(shè)計原則培訓(xùn)
4401 人關(guān)注
(78637/99817)
課程大綱:

  軟件設(shè)計原則培訓(xùn)

 

 

 

軟件設(shè)計原則、思路或佳實踐


一、 企業(yè)級架構(gòu)設(shè)計概述

1. 認(rèn)識分層架構(gòu)

2. 分層架構(gòu)的演化

3. 領(lǐng)域驅(qū)動架構(gòu)的演進(jìn)

4. 界限上下文與架構(gòu)

5. 六邊形架構(gòu)

6. 端口與適配器

7. 整潔架構(gòu)

8. CQRS架構(gòu)

9. 在CQRS中處理具有終一致性的查詢模型

10.事件溯源 EventSouring

11.使用樂觀鎖處理并發(fā)更新

12.事件溯源和發(fā)布事件

13.冪等方式處理消息

14.使用快照提升性能

15.管道與過濾器

16.SAGA(消息驅(qū)動事務(wù))

17.協(xié)同式與編排式

18.SAGA下實現(xiàn)隔離

軟件設(shè)計中的核心原則 SOLID


二、單一職責(zé)原則

1. 次時代租車服務(wù)終端 (ARCS)的初步設(shè)計

2. 用例 (UseCase) 的作用 – 劃分邊界及概覽

3. SRP的設(shè)計誤區(qū)

4. 重構(gòu)至 SRP 的方法1:提取類

5. 重構(gòu)至 SRP 的方法2:Proxy模式

6. 前端代碼 SRP重構(gòu):投票組件

7. 過程性代碼的 SRP

違反直覺的真相:性能優(yōu)化的步驟


三、開放封閉原則

1. 代碼中的接線板是什么?

2. 編程價值觀 – 溝通,簡單,靈活

3. 如何做到對擴(kuò)展開放,對修改封閉

4. 次時代租車服務(wù)終端 (ARCS)的促銷需求

5. 笨拙的促銷實現(xiàn)

6. 如何不修改代碼而改變它的行為

7. 簡單的 OCP實現(xiàn) – 策略模式

8. 前端代碼重構(gòu):拆分復(fù)雜表達(dá)式

敏捷開發(fā)的精髓 – 只被第一顆子彈擊中


四、里氏替換原則

1. 什么才是好的繼承關(guān)系

2. 子類為什么要能透明的替換基類

3. 次時代租車服務(wù)終端 (ARCS)的新需求 – 電動轎車費用計算

4. 白盒復(fù)用 還是 黑盒復(fù)用

5. IS-A的精髓:針對屬性還是針對行為

6. 契約式設(shè)計繼承體系

7. 重構(gòu)方法:提升為兄弟類

8. 前端代碼重構(gòu):抽取函數(shù)

9. 如何才能讓 次時代租車服務(wù)終端 (ARCS)的代碼符合 LSP

這樣做我們可能會引入什么新的問題?


五、接口隔離原則

1. 接口“變胖”的問題 – 接口污染

2. 佳能一體機(jī)的遺留接口問題

3. 如何實現(xiàn)接口分離 – 適配器模式

4. 類適配器 – 多繼承

5. 對象適配器 – 委托

6. 使用單元測試來發(fā)現(xiàn)問題

7. 前端代碼重構(gòu):使用模板方法重新組織邏輯

8. 次時代租車服務(wù)終端 (ARCS)在接口劃分上的問題

9. 如何簡化復(fù)雜的邏輯

10. 如何使用模板方法分離抽象與具體

案例:ATM機(jī)接口設(shè)計的演化


六、依賴倒置原則

1. 結(jié)構(gòu)化設(shè)計理念的問題

2. 對象化設(shè)計理念

3. 依賴倒置到底倒置了什么

4. 如何分離關(guān)注點

5. DI-依賴注入解決的問題:講對象的創(chuàng)建與使用分離

案例:消息隊列設(shè)計的演化

領(lǐng)域?qū)拥脑O(shè)計與實踐


七、實體 – 數(shù)據(jù)容器還是行為載體

6. 貧血模型

7. 如何避免貧血,實體與領(lǐng)域服務(wù)之間的分寸

8. 唯一標(biāo)識

9. 委派標(biāo)識

10.案例:實現(xiàn)實體層超類型(Layer Supertype)

11.實戰(zhàn) -任務(wù)分配執(zhí)行系統(tǒng) 實體行為歸屬甄別


八、值對象 – 性能提升小幫手

1. 什么是值對象

2. 值對象的特征

3. 為什么值對象這么容易被忽略

4. 案例:地址建模與值對象

5. 案例:實現(xiàn)值對象層超類型


九、聚合 – 比類更高一層的封裝

1. 聚合設(shè)計原則

2. 聚合設(shè)計的過程

3. 聚合的一致性邊界

4. 一個事務(wù)中只處理一個聚合

5. UML 中的聚合 與 DDD 中的聚合

6. 聚合內(nèi)實現(xiàn)事務(wù)一致性

7. 聚合外實現(xiàn)終一致性

8. 案例:更新訂單狀態(tài)與庫存扣減 Version 1.0

9. 案例:更新訂單狀態(tài)與庫存扣減 Version 2.0

10.聚合設(shè)計的注意點

服務(wù)層的設(shè)計與實踐


十、微服務(wù)的入口 - 應(yīng)用服務(wù)

1. 用例 (Use Case) 與應(yīng)用服務(wù)

2. 微服務(wù)的網(wǎng)關(guān) 與 應(yīng)用服務(wù) 之間的關(guān)系

3. 應(yīng)用服務(wù)中的 編排,轉(zhuǎn)換,驗證,轉(zhuǎn)發(fā)

4. 工作單元 (Unit of Work)

5. 數(shù)據(jù)傳輸對象 (Data Transfer Object)

6. 事務(wù)腳本 (Transaction Script) 與領(lǐng)域模型

7. 依賴注入在應(yīng)用服務(wù)中的使用

8. 案例:實現(xiàn)應(yīng)用服務(wù)

9. 應(yīng)用服務(wù)的關(guān)注點

10.實戰(zhàn) -任務(wù)分配執(zhí)行系統(tǒng) 應(yīng)用層構(gòu)建


十一、領(lǐng)域服務(wù) – 不是實體本身的行為都?xì)w它

1. 領(lǐng)域服務(wù)的冪等性

2. 案例:實現(xiàn)領(lǐng)域服務(wù)

3. 實戰(zhàn) -任務(wù)分配執(zhí)行系統(tǒng) 領(lǐng)域服務(wù)層構(gòu)建


十二、資源庫 – 聚合的起點與終點

1. 集合特性

2. 資源庫與數(shù)據(jù)訪問層的區(qū)別

3. 資源庫的誤解

4. 資源庫的實現(xiàn)要點

5. 案例:資源庫的實現(xiàn)

6. 領(lǐng)域模型 VS數(shù)據(jù)模型

7. 案例:泛型資源庫

實戰(zhàn) -任務(wù)分配執(zhí)行系統(tǒng) 持久化

基于事件驅(qū)動的架構(gòu)設(shè)計


十三、領(lǐng)域事件 – 保持終一致性的信使

1. 領(lǐng)域事件是領(lǐng)域建模中極其重要的部分

2. 事務(wù)一致性,高并發(fā)下的窘境

3. 終一致性,妥協(xié)帶來高擴(kuò)展性

4. 原則:一個事務(wù)中只對一個聚合進(jìn)行修改

5. 案例:實現(xiàn)抽象事件源,發(fā)布事件源

6. 案例:實現(xiàn)抽象事件處理

7. 案例:實現(xiàn)領(lǐng)域事件的發(fā)布與訂閱

8. 實戰(zhàn) -任務(wù)分配執(zhí)行系統(tǒng) 任務(wù)分配領(lǐng)域邏輯


十四、微服務(wù)中基于事件的系統(tǒng)架構(gòu)

1. 微服務(wù)之間如何穩(wěn)健的發(fā)布與消費事件

2. 如何保證發(fā)布事件的原子性

3. 使用事件表發(fā)布事件

4. 案例:如何實現(xiàn)事件感知聚合根

5. 案例:如何實現(xiàn)事件感知資源庫

6. 如何通過 AOP 進(jìn)行通用的事件處理


十五、微服務(wù)形式下的CQRS

1. DDD中的典型寫操作

2. 基于數(shù)據(jù)模型的讀操作

3. 基于領(lǐng)域模型的讀操作

4. 讀寫分離模型

5. 案例:電商系統(tǒng)中的讀寫分離場景

6. 單進(jìn)程單實體 + 共享存儲/共享模型:Inventory詳情查詢

7. 單進(jìn)程單實體 + 共享存儲/分離模型:Product摘要查詢

8. 單進(jìn)程跨實體 + 分離存儲/分離模型:Product詳情查詢(包含Category信息)

9. 跨進(jìn)程跨實體 + 分離存儲/分離模型:Order詳情查詢(包含Product信息)

主站蜘蛛池模板: 容城县| 华容县| 万载县| 东方市| 会理县| 滨海县| 宜君县| 永和县| 承德县| 霍州市| 新安县| 陇西县| 郴州市| 芦溪县| 秦安县| 缙云县| 红河县| 太谷县| 宁都县| 波密县| 杭锦旗| 平江县| 来宾市| 武平县| 乃东县| 吉林省| 金塔县| 深圳市| 府谷县| 文登市| 大姚县| 黑龙江省| 岳池县| 保康县| 呈贡县| 谷城县| 通榆县| 察隅县| 遂昌县| 武山县| 梁平县|