曙海教育集團
全國報名免費熱線:4008699035 微信:shuhaipeixun
或15921673576(微信同號) QQ:1299983702
首頁 課程表 在線聊 報名 講師 品牌 QQ聊 活動 就業
 

軟件領域驅動設計課程

 
   班級規模及環境--熱線:4008699035 手機:15921673576( 微信同號)
       每期人數限3到5人。
   上課時間和地點
上課地點:【上海】:同濟大學(滬西)/新城金郡商務樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院 【北京分部】:北京中山學院/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領館區1號(中和大道) 【沈陽分部】:沈陽理工大學/六宅臻品 【鄭州分部】:鄭州大學/錦華大廈 【石家莊分部】:河北科技大學/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:協同大廈
最近開課時間(周末班/連續班/晚班):2020年3月16日
   實驗設備
     ☆資深工程師授課
        
        ☆注重質量 ☆邊講邊練

        ☆合格學員免費推薦工作
        ★實驗設備請點擊這兒查看★
   質量保障

        1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽;
        2、培訓結束后,授課老師留給學員聯系方式,保障培訓效果,免費提供課后技術支持。
        3、培訓合格學員可享受免費推薦就業機會。

課程大綱
1??培訓目標
需求分析人員和領域專家無法與團隊的設計人員和開發人員進行有效溝通。需求分析人員不了解軟件設計,軟件設計人員常常會曲解需求內容,這是軟件開發中容易出現的第一病癥。它帶來的后果是設計頻繁變更,設計的軟件不滿足客戶需求。
需求分析雖然明白無誤,設計人員卻無法準確地抽象領域模型,從而不能開展有效的軟件設計,這是軟件開發中容易出現的第二病癥。它帶來的后果是設計質量糟糕,開發的代碼不具有良好的可讀性,增加了軟件的開發與維護成本。
系統的業務需求復雜多變,設計人員卻總是喜歡從實現角度以及數據庫層面思考業務問題,這是軟件開發中容易出現的第三病癥。它會導致開發的系統過于復雜,且可擴展性差,無法有效應對需求發生的變化。
本次培訓的內容——領域驅動設計正好是解決這三種常見病癥的最佳藥方。
2??培訓計劃
課題 內容
第一單元
領域建模的方法 1、領域建模與設計的關系
優秀的軟件系統與好的軟件設計息息相關,但最關鍵的還是在于對需求的理解。如果不能正確的理解軟件需求,那么再好的設計也不能設計出好的軟件。正確的做事情固然重要,更重要的是要做正確的事。然而,需求到設計存在巨大的鴻溝,因為需求是站在業務角度來考慮,而設計往往會站在實現角度。領域建模就是為這二者搭建一個溝通與轉換的橋梁。

2、統一語言(Ubiquitous Language)
為了更好的理解需求,我們需要與領域專家一起梳理目標領域的統一語言,從而就領域術語達成一致,并有利于領域建模。
第二單元
領域驅動設計的戰略設計
1、限界上下文(Bounded Context)

若要進行領域建模,并將業務需求逐步演化為架構設計,則需要引入DDD(領域驅動設計)的戰略設計作為指導。場景圖與限界上下文可以很好地結合,幫助架構師很好地識別各個子領域的概念邊界與設計邊界。如此則可以運用“分而治之”的思想識別出整個系統的業務邏輯邊界與物理邊界。

2、場景驅動
場景驅動設計的核心在于識別場景,它需要設計者結合具體的業務場景,分析業務流程,以此驅動出用例;再以用例驅動對業務邏輯的建模。場景驅動設計的核心模型為6W模型,即Who,Why,When,What,Where與hoW。它將對應職責模型的業務價值、業務功能與業務實現,并從角色的角度思考對象之間的協作以及設計邊界。

3、用例方法 (Use Case)
通過利用傳統的用例方法來幫助我們驅動出領域的限界上下文。

可視化演練:識別電子商務系統的限界上下文

4、上下文映射圖 (Context Map)
本部分內容會講解限界上下文之間主要存在的組織模式與集成模式,這其中包括防腐層,開放服務調用等。利用上下文映射圖,有助于識別上下文之間的關系,思考處于上下文內領域模型之間的通信方式,從而幫助架構師驅動出最終的應用邏輯架構。

可視化演練:電子商務系統的應用邏輯架構
第三單元
領域驅動設計的架構設計 1、分層架構 (Layered Architecture)
分層架構模式是應用最為廣泛的架構模式,它根據關注點分離的架構原則,針對表現層、領域層和基礎設施層進行層次分離。本次培訓將以全新視角審視分層架構,針對大型軟件系統分析該如何進行分層架構設計。
案例分析:網上銀行的分層架構,根據最基本的業務流程對系統進行關注點分離,繪制系統的分層架構,并通過時序圖展現各層之間的協作。

2、六邊形架構 (Hexagonal Architecture)
雖然分層架構仍然是運用最為廣泛的架構模式,同時更是諸多架構模式的基礎,但它已不足以描述越來越復雜的分布式系統架構。由Cockburn提出的六邊形架構(Hexagonal Architecture)是一種具有對稱性特征的架構風格。在這種架構中,不同的客戶通過“平等”的方式與系統交互。該架構中存在兩個區域,分別是“外部區域”和“內部區域”。這種界定了明確內外邊界的架構風格,更有利于架構師實現關注點分離,并將關注重心放在適配器與通信端口上。

演練:六邊形架構的通信邊界
案例:大型金融系統的客戶管理

3、CQRS
CQRS風格,即命令查詢職責分離(Command Query Responsibility Segregation),它結合了消息處理、事件處理的架構風格,是對多種設計模式的綜合運用,適用于處理讀寫比例高,需要支持可伸縮性的大型系統。

案例:AxonFramework對CQRS的支持

4、事件驅動架構 (Event-Driven Architecture)
事件驅動架構(Event-Driven Architecture,EDA)是一種用于處理事件生成、發現和處理等任務的軟件架構。事件往往對應于軟件系統的狀態機,狀態的遷移就是用事件來觸發的。因而,事件能夠很好地體現這樣的業務模型。同時,基于事件的軟件架構可以幫助我們更好地建立松散耦合的模塊化架構。

第四單元
領域驅動設計的戰術設計 1、領域模型
通過限界上下文,可以幫助我們分析系統的領域模型,包括系統的核心領域與子領域。確定系統的核心領域與子領域可以幫助架構師合理分配資源(包括時間資源與人力資源)。而對子領域的進一步識別,可以幫助架構師更好地識別可重用資源,包括可重用的功能模塊,確定技術棧,決定構建還是購買的架構戰略。

3、四色建模法
首先以滿足管理和運營的需要為前提,尋找需要追溯的事件。根據這些需要追溯,尋找足跡以及相應的時標性對象。尋找時標對象周圍的人/事/物。從中抽象角色,把一些信息用描述對象補足。
案例分析:配送管理系統的四色建模

2、實體(Entity)與值對象(Value Object)
這兩個概念都是領域對象的體現,二者的主要區別在于對“標識”的運用。本部分的內容深入展開對實體標識的討論,揭示實體的本質特征,挖掘實體的關鍵行為。通過識別角色與職責對實現進行分析。
本部分內容還將通過深入講解值對象的特征幫助我們分辨值對象與實體,使得我們可以在領域驅動設計中有效地運用實體與值對象。本部分內容還包括持久化值對象,以及領域驅動設計與ORM之間的關系。
3、領域服務 (Domain Service)
通過講解什么是領域服務,什么不是領域服務理清領域服務的概念,并講解如何建模領域服務。討論領域服務和面向接口設計思想。
4、領域事件 (Domain Event)
事件驅動架構的主要對象即為領域事件,我們要分清在何時以及為什么要使用領域事件,并對領域事件進行建模。通過講解發布者-訂閱者模式講解如何在領域模型和限界上下文中發布領域事件。同時,針對事件進行存儲的Event Source也與CQRS架構風格直接相關。
演練:尋找領域事件
5、聚合 (Aggregation)
聚合是領域驅動設計最為重要的領域概念。本部分內容將深入探討聚合的設計原則,并辨別在聚合設計中可能出現的壞味道,并提出針對性的解決方案。這些原則和方案包括:在一致性邊界之內建模真正的不變量,設計小的聚合,通過唯一標識引用其他聚合,在邊界外滿足最終一致性。
6、工廠(Factory)和資源庫(Repository)
工廠和資源庫都是管理領域對象(實體、值對象和服務)生命周期的對象。工廠主要針對內存中對象從無到有的創建過程,與設計模式的工廠模式基本相似。
資源庫則分為面向集合的資源庫與面向持久化的資源庫。本部分內容將重點講解與資源庫直接相關的技術細節,包括如何選擇資源庫的方式,如何針對聚合持久化資源庫,如何管理事務,以及分辨資源庫與數據訪問對象(DAO)之間的異同。
7、應用層(Application Layer)設計
作為為UI提供的應用服務,其目的在于管理和協調領域對象,并為領域對象提供橫切關注點的內容。好的應用服務設計不應該承擔任何與領域邏輯有關的職責。應用層是架構層面的外觀與適配器模式的體現。它可以提高軟件系統架構的可用性與簡單性,也能夠更好地與面向服務架構或RESTful架構風格結合。

第五單元
DCI 1、 討論
Transaction Script與Domain Model之爭
貧血模型與充血模型之爭
Service廢存的爭論

2、DCI(Data Context Interation)
DCI是領域驅動設計的一個分支,更加關注系統的行為,從而提高代碼的可讀性。該范式將Data Model(data)從Use Cases(context)以及對象扮演的Role(Interaction)中分離出來。

第六單元
實戰演練 1、 基于多租戶的社交網絡系統以及項目管理系統的領域驅動設計
這是領域驅動設計過程的完整案例分析,從需求開始著手,開展對整個系統的架構分析、領域概念識別與分析,并對建立的領域模型進行迭代與演化,核心領域概念的演進,掃清領域設計過程中的認知障礙,并總結了領域驅動設計過程的一些經驗教訓。
本實戰演練包含了真實的案例需求,以及符合領域驅動設計各種知識點的案例病癥分析,從對比入手來探討好的領域驅動設計方法。同時,還將引入大量的可視化圖形、設計圖與代碼幫助學員理解如何在真實項目中運用領域驅動設計的思想,指導設計人員進行良好的設計。




 

android開發板
linux_android開發板
fpga圖像處理
端海培訓實驗設備
fpga培訓班
 
本課程部分實驗室實景
端海實驗室
實驗室
端海培訓優勢
 
  備案號:備案號:滬ICP備08026168號-1 .(2024年07月24日)....................
友情鏈接:Cadence培訓 ICEPAK培訓 EMC培訓 電磁兼容培訓 sas容培訓 羅克韋爾PLC培訓 歐姆龍PLC培訓 PLC培訓 三菱PLC培訓 西門子PLC培訓 dcs培訓 橫河dcs培訓 艾默生培訓 robot CAD培訓 eplan培訓 dcs培訓 電路板設計培訓 浙大dcs培訓 PCB設計培訓 adams培訓 fluent培訓系列課程 培訓機構課程短期培訓系列課程培訓機構 長期課程列表實踐課程高級課程學校培訓機構周末班培訓 南京 NS3培訓 OpenGL培訓 FPGA培訓 PCIE培訓 MTK培訓 Cortex訓 Arduino培訓 單片機培訓 EMC培訓 信號完整性培訓 電源設計培訓 電機控制培訓 LabVIEW培訓 OPENCV培訓 集成電路培訓 UVM驗證培訓 VxWorks培訓 CST培訓 PLC培訓 Python培訓 ANSYS培訓 VB語言培訓 HFSS培訓 SAS培訓 Ansys培訓 短期培訓系列課程培訓機構 長期課程列表實踐課程高級課程學校培訓機構周末班 端海 教育 企業 學院 培訓課程 系列班 長期課程列表實踐課程高級課程學校培訓機構周末班 短期培訓系列課程培訓機構 端海教育企業學院培訓課程 系列班
主站蜘蛛池模板: 中文字幕亚洲综合久久| 人妻 日韩 欧美 综合 制服| 亚洲欧洲日产国产综合网| 久久久久久久综合综合狠狠| 激情综合丁香五月| 狠狠色噜狠狠狠狠色综合久| 久久综合久久综合九色| 亚洲综合熟女久久久30p| 狠狠色狠狠色综合日日不卡| 色综合久久久久久久久五月| 伊人成色综合网| 亚洲狠狠久久综合一区77777| 亚洲av日韩综合一区在线观看| 色综合色天天久久婷婷基地| 狠狠色综合色综合网络| 狼狼综合久久久久综合网| 久久综合亚洲色一区二区三区| 亚洲综合伊人久久综合| 亚洲综合色自拍一区| 国产成人综合色在线观看网站| 亚洲狠狠久久综合一区77777| 亚洲欧美国产∧v精品综合网| 五月丁香综合缴情六月小说| 女人和拘做受全程看视频日本综合a一区二区视频| 亚洲欧美综合另类图片小说区| 日韩欧美综合| 久久天天日天天操综合伊人av| 亚洲国产国产综合一区首页| 色欲色香天天天综合网站| 一本色道久久综合狠狠躁| 国产成人精品综合久久久| 色婷婷综合缴情综免费观看| 天堂久久天堂AV色综合| 色欲香天天天综合网站| 亚洲欧美日韩国产综合在线| 久久综合给合综合久久| 人人妻人人狠人人爽天天综合网| 91精品国产综合久久婷婷| 亚洲欧美日韩国产综合在线| 亚洲狠狠爱综合影院婷婷| 久久综合亚洲色HEZYO社区|