1. <del id="djlcs"></del>

              當前位置: 首頁(yè) > 公開(kāi)課程 > 課程內容
              廣告1
              相關(guān)熱門(mén)公開(kāi)課程更多 》
              相關(guān)熱門(mén)內訓課程更多 》
              相關(guān)最新下載資料

              領(lǐng)域驅動(dòng)軟件設計實(shí)戰訓練營(yíng) 培訓班

              課程編號:58515   課程人氣:223

              課程價(jià)格:¥7800  課程時(shí)長(cháng):3天

              行業(yè)類(lèi)別:IT網(wǎng)絡(luò )    專(zhuān)業(yè)類(lèi)別:大數據 

              授課講師:專(zhuān)家團

              課程安排:

                     2024.6.24 北京



              • 課程說(shuō)明
              • 講師介紹
              • 選擇同類(lèi)課
              【培訓對象】
              中高級工程師、企業(yè)架構師、軟件設計師、技術(shù)決策/解決方案人員等。

              【培訓收益】
              現在是一個(gè)快速變化的時(shí)代,我們不得不面對激烈的競爭和快速的市場(chǎng)變化??焖俚淖兓?,帶來(lái)軟件需求的快速變革。因此,所有的軟件企業(yè)不得不面對這樣一個(gè)事實(shí):當軟件系統經(jīng)歷了無(wú)數次變更以后,程序變得凌亂不堪、難于維護。而軟件經(jīng)過(guò)了無(wú)數次變更以后,系統的業(yè)務(wù)邏輯變得越來(lái)越復雜,我們的設計開(kāi)始迷失方向。這種設計的迷失,加快了軟件退化的速度,使得任何一個(gè)變更,都變得成本巨大。這就是現代軟件企業(yè)不得不面對的困境。 如何解決這種軟件的困境呢?領(lǐng)域驅動(dòng)設計,給我們指明了方向。他通過(guò)將軟件設計還原到真實(shí)世界,將軟件設計與真實(shí)世界對應起來(lái)。這樣,當業(yè)務(wù)邏輯變得越來(lái)越復雜的時(shí)候,軟件需求也開(kāi)始頻繁變更的時(shí)候,我們只需要將業(yè)務(wù)還原到真實(shí)場(chǎng)景,依據真實(shí)世界來(lái)指導我們的軟件設計,設計思路就會(huì )清晰起來(lái),我們就不再迷失方向。 本課程就是在講解如何通過(guò)領(lǐng)域驅動(dòng)設計,來(lái)應對復雜系統的需求變更,實(shí)現高質(zhì)量的軟件設計,避免代碼腐化。課程首先剖析了軟件退化的根源,通過(guò)對真實(shí)系統一步一步退化的過(guò)程演變,揭示軟件退化的根源,為解決問(wèn)題指明了方向。接著(zhù),有針對性地講解領(lǐng)域驅動(dòng)設計是如何解決這些問(wèn)題,為學(xué)員能夠有效提高軟件設計質(zhì)量,提供了思路與方向 然后,通過(guò)真實(shí)案例來(lái)一步一步講解如何進(jìn)行領(lǐng)域驅動(dòng)設計,如何通過(guò)領(lǐng)域驅動(dòng)設計來(lái)指導軟件變更,實(shí)現高質(zhì)量的軟件設計。本課程注重實(shí)戰,因此每一部分的講解都是基于真實(shí)場(chǎng)景講解,并且在真實(shí)場(chǎng)景中思考與練習。

              第一天
              第一單元
              剖析領(lǐng)域驅動(dòng)的設計思想 為什么我們需要領(lǐng)域驅動(dòng)設計
              1. 現如今DDD越來(lái)越流行
              2. DDD并不能幫助新項目的軟件開(kāi)發(fā)
              3. DDD真正的作用是日后長(cháng)期的維護

              實(shí)踐DDD的4大難題:
              1. 準確理解為什么要采用DDD?
              2. 怎樣正確地進(jìn)行業(yè)務(wù)領(lǐng)域建模?
              3. 怎樣用領(lǐng)域模型指導開(kāi)發(fā)與變更?
              4. 如何設計支持領(lǐng)域驅動(dòng)的架構設計?

              DDD真正的作用是應對日后的軟件維護
              1. 我們現在面對的是快速變化的時(shí)代
              2. 變更越頻繁,代碼質(zhì)量下降越快
              案例:演示電商網(wǎng)站付款功能代碼質(zhì)量下降的過(guò)程
              案例分析:揭示軟件退化的根源
              DDD的解決之道:業(yè)務(wù)領(lǐng)域建模
              3. 系統規模越來(lái)越大,系統越來(lái)越復雜
              案例:演示嵌入式溫控系統越來(lái)越難于維護的根源
              案例分析:領(lǐng)域分析才是解決之道
              DDD的解決之道:基于限界上下文拆分系統

              案例分析:演示電商網(wǎng)站付款功能代碼質(zhì)量下降的過(guò)程
              1. 起初的設計
              2. 隨后的變更
              3. 質(zhì)量不斷下降的過(guò)程
              軟件質(zhì)量下降的根源:
              1. 軟件總是因變更而變得越來(lái)越復雜
              2. 軟件結構已經(jīng)不再適應復雜的軟件需求
              3. 必須要調整軟件結構以適應新的軟件需求
              DDD的建模過(guò)程:
              1. 每次需求變更時(shí)先對需求進(jìn)行領(lǐng)域分析
              2. 基于領(lǐng)域分析先進(jìn)行領(lǐng)域模型的變更
              3. 基于領(lǐng)域模型的變更去指導程序的變更

              DDD是應對軟件復雜性之道
              1. 剖析領(lǐng)域驅動(dòng)的設計思想
              2. 服務(wù)、實(shí)體與值對象的概念
              3. 充血模型與貧血模型的設計思路
              4. 問(wèn)題域、子域與限界上下文劃分

              基于領(lǐng)域模型的設計變更
              1. 演練基于DDD的設計與變更過(guò)程
              2. 演練領(lǐng)域模型如何指導數據庫設計
              3. 演練領(lǐng)域模型如何指導程序設計
              4. 聚合、倉庫與工廠(chǎng):傻傻分不清
              5. 限界上下文:系統拆分的利器

              案例:重新演練電商網(wǎng)站付款功能的變更過(guò)程
              第一個(gè)版本的領(lǐng)域模型與設計
              第一次變更的分析設計過(guò)程
              第二場(chǎng)變更的設計實(shí)現
              第三次變更的設計實(shí)現
              第四次變更與架構演化
              第一天
              第二單元
              演練領(lǐng)域驅動(dòng)的設計過(guò)程 領(lǐng)域建模分析過(guò)程
              演練案例:在線(xiàn)訂餐系統的領(lǐng)域設計過(guò)程
              1. 從領(lǐng)域中吸取知識
              2. 統一語(yǔ)言建模
              3. 事件風(fēng)暴會(huì )議
              1) 梳理業(yè)務(wù)流程,識別領(lǐng)域事件
              2) 為每個(gè)領(lǐng)域事件識別參與者、行為、相關(guān)事物
              3) 標記事物之間的關(guān)系、聚合、聚合根
              4) 根據業(yè)務(wù)劃分限界上下文
              5) 遍歷所有事件,確定上下文映射
              4. 業(yè)務(wù)領(lǐng)域建模
              1) 為每個(gè)領(lǐng)域事件構建業(yè)務(wù)領(lǐng)域模型
              2) 劃分主題域、支撐域、通用域
              3) 落實(shí)各子域之間的聯(lián)系、接口及事件通知機制

              基于領(lǐng)域模型的微服務(wù)設計
              1. 小而專(zhuān)的微服務(wù)設計
              2. 限界上下文與微服務(wù)拆分
              3. 上下文地圖與微服務(wù)接口
              4. 各微服務(wù)中實(shí)體、值對象與服務(wù)的設計
              5. 各微服務(wù)中聚合、工廠(chǎng)與倉庫的設計
              6. 領(lǐng)域模型4種關(guān)系3種繼承的數據庫設計
              7. 聚合層的設計、工廠(chǎng)和倉庫的實(shí)現
              8. 基于DDD的微服務(wù)架構分層

              解決DDD的設計難題
              1. 跨庫查詢(xún)的設計難題與設計實(shí)現
              2. 領(lǐng)域事件的通知機制與設計實(shí)現
              3. 微服務(wù)接口的防腐層設計
              4. 狀態(tài)查詢(xún)跟蹤的設計思路與代碼實(shí)現

              分組練習:按照事件風(fēng)暴的步驟進(jìn)行業(yè)務(wù)領(lǐng)域建模
              1. 召開(kāi)事件風(fēng)暴會(huì )議
              2. 進(jìn)行業(yè)務(wù)領(lǐng)域建模
              3. 基于領(lǐng)域模型設計開(kāi)發(fā)系統
              第二天
              第三單元
              領(lǐng)域驅動(dòng)設計實(shí)踐 實(shí)戰演練:遠程智慧醫療大數據平臺設計過(guò)程
              1. 系統業(yè)務(wù)規劃與戰略設計
              2. 子系統→限界上下文→功能模塊劃分
              3. 由粗到細的用例建模
              4. 各子域業(yè)務(wù)領(lǐng)域建模
              1) 智慧診療數據模型的領(lǐng)域分析
              2) 診所管理信息系統的領(lǐng)域分析
              5. 各子域的接口設計
              1) 上下文地圖的模型分析
              2) 微服務(wù)接口的方案設計
              6. 微服務(wù)的技術(shù)落地實(shí)踐
              1) 去中心化的技術(shù)治理
              2) 微服務(wù)的技術(shù)中臺
              3) 微服務(wù)的云端應用平臺

              起初:一個(gè)傳統的診所管理系統向互聯(lián)網(wǎng)轉型
              1) 起初沒(méi)有采用領(lǐng)域驅動(dòng)設計,也運行了這么多年
              2) 現在向互聯(lián)網(wǎng)轉型,業(yè)務(wù)變得越來(lái)越復雜,怎么開(kāi)始領(lǐng)域建模?
              第一步:站在全局的系統建設規劃
              第二步:DDD戰略設計與限界上下文劃分
              第三步:各子域的業(yè)務(wù)領(lǐng)域建模
              第四步:上下文地圖與各子域的接口設計
              轉型成互聯(lián)網(wǎng)連鎖診所系統,又該如何分析設計
              1) 基于領(lǐng)域模型進(jìn)行新需求的分析
              2) 基于領(lǐng)域模型進(jìn)行原有代碼的更新維護
              3) 基于限界上下文進(jìn)行微服務(wù)的拆分,以及這個(gè)過(guò)程中的坑
              第一步:基于DDD進(jìn)行戰略設計的調整
              第二步:各子域的業(yè)務(wù)領(lǐng)域建模調整
              第四步:上下文地圖與各子域的接口設計
              第五步:基于DDD的微服務(wù)拆分
               基于DDD的數據庫設計與去中心化的數據治理
               如何由原有的貧血模型向現在的充血模型改造
               如何解決跨庫的關(guān)聯(lián)查詢(xún)與事務(wù)處理
               如何實(shí)現領(lǐng)域事件的消息推送機制
               如何實(shí)現跨庫的狀態(tài)數據查詢(xún)
               如何打造基于整潔架構的領(lǐng)域驅動(dòng)設計框架
              增加人工智能的智能診療數據模型
              1) 如何通過(guò)領(lǐng)域模型來(lái)開(kāi)展數據智能業(yè)務(wù)
              2) 如何基于領(lǐng)域模型的規劃與智能系統的接口
              3) 基于領(lǐng)域模型的微服務(wù)+大數據的設計實(shí)踐

              分組練習:按照領(lǐng)域模型進(jìn)行設計開(kāi)發(fā)
              1. 基于領(lǐng)域模型進(jìn)行微服務(wù)的拆分與設計
              2. 基于領(lǐng)域模型進(jìn)行每個(gè)微服務(wù)的數據庫設計
              3. 基于上下文地圖形成微服務(wù)間的契約與接口
              第二天
              第四單元
              基于領(lǐng)域驅動(dòng)的技術(shù)中臺建設 DDD需要強大技術(shù)架構支持
              1. 降低技術(shù)門(mén)檻,減少開(kāi)發(fā)工作量 → 制訂規范、合理分層、降低復雜度
              2. 易于業(yè)務(wù)變更,易于架構演化 → 將業(yè)務(wù)與技術(shù)解耦
              3. 支持領(lǐng)域驅動(dòng),支持微服務(wù) → 通用倉庫、工廠(chǎng)及基礎設施的設計
              4. 平臺不斷完善,功能不斷積累 → 敏捷架構設計:架構跑道與使能故事

              支持DDD的技術(shù)架構建設思路
              1. 分析當前軟件架構設計與架構演化的痛點(diǎn)與根源
              2. 闡述技術(shù)中臺的建設思路
              1)將業(yè)務(wù)與技術(shù)解耦 → 整潔架構與六邊形架構
              2)提取共性,精簡(jiǎn)業(yè)務(wù)代碼 → 單Controller,單Dao

              支持領(lǐng)域驅動(dòng)+微服務(wù)的技術(shù)中臺
              案例:在線(xiàn)訂餐系統的應用
              1. 通用、可配置的DDD倉庫與工廠(chǎng)的設計
              2. 解決跨庫的關(guān)聯(lián)查詢(xún)與事務(wù)處理
              3. 純潔的Service與Entity便于不斷地架構演化

              現有系統的整潔架構轉型
              1. 系統級的重構方法與步驟
              2. 建立接口層解耦業(yè)務(wù)代碼與技術(shù)框架的過(guò)程
              3. 基于整潔架構的技術(shù)架構演化與快速交付
              第三天 第五單元
              基于DDD的微服務(wù)設計實(shí)踐 實(shí)戰演練:高并發(fā)高可用的訂單系統

              微服務(wù)架構的6種設計模式
              1. 聚合模式
              案例:電商網(wǎng)站購物功能的設計
               微服務(wù)前后端分離的設計
               分布式事務(wù)的兩階段提交
               TCC方案與阿里Seata
              演練:運用Seata實(shí)現微服務(wù)的分布式事務(wù)
               基于消息的最終一致性設計
              演練:基于消息實(shí)現微服務(wù)的分布式事務(wù)

              案例:電商網(wǎng)站下單服務(wù)的設計
              單一職責原則與領(lǐng)域驅動(dòng)設計
               互聯(lián)網(wǎng)縱向切分在微服務(wù)的實(shí)現
               縱向切分應當注意的設計問(wèn)題
               解決跨庫關(guān)聯(lián)查詢(xún)的設計
              演練:微服務(wù)間解決跨庫關(guān)聯(lián)查詢(xún)的設計

              2. 代理模式
              案例:電商網(wǎng)站多渠道支付的微服務(wù)實(shí)現
              3. 鏈式模式
              4. 分支模式
              5. 數據共享模式
              案例:大數據與微服務(wù)結合的架構設計
              案例:電商網(wǎng)站海量訂單數據的秒級查詢(xún)
              6. 異步消息模式
              案例:電商網(wǎng)站異步化操作的微服務(wù)實(shí)現

              微服務(wù)的拆分原則
              1. 能不拆盡量不拆:減少微服務(wù)間的調用
              2. 該拆分就得拆分
              1) 公共模塊該拆分就得拆分
              2) 越來(lái)越復雜的模塊該拆分就得拆分
               

              咨詢(xún)電話(huà):
              0571-86155444
              咨詢(xún)熱線(xiàn):
              • 微信:13857108608
              聯(lián)系我們
              日韩一区二区三区免费高清|久久国产精品视频|精品一区二区无码|国产成人欧美日本在线观看

                    1. <del id="djlcs"></del>