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

軟件領(lǐng)域驅(qū)動設(shè)計課程

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

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

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

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

2、統(tǒng)一語言(Ubiquitous Language)
為了更好的理解需求,我們需要與領(lǐng)域?qū)<乙黄鹗崂砟繕祟I(lǐng)域的統(tǒng)一語言,從而就領(lǐng)域術(shù)語達成一致,并有利于領(lǐng)域建模。
第二單元
領(lǐng)域驅(qū)動設(shè)計的戰(zhàn)略設(shè)計
1、限界上下文(Bounded Context)

若要進行領(lǐng)域建模,并將業(yè)務(wù)需求逐步演化為架構(gòu)設(shè)計,則需要引入DDD(領(lǐng)域驅(qū)動設(shè)計)的戰(zhàn)略設(shè)計作為指導(dǎo)。場景圖與限界上下文可以很好地結(jié)合,幫助架構(gòu)師很好地識別各個子領(lǐng)域的概念邊界與設(shè)計邊界。如此則可以運用“分而治之”的思想識別出整個系統(tǒng)的業(yè)務(wù)邏輯邊界與物理邊界。

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

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

可視化演練:識別電子商務(wù)系統(tǒng)的限界上下文

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

可視化演練:電子商務(wù)系統(tǒng)的應(yīng)用邏輯架構(gòu)
第三單元
領(lǐng)域驅(qū)動設(shè)計的架構(gòu)設(shè)計 1、分層架構(gòu) (Layered Architecture)
分層架構(gòu)模式是應(yīng)用最為廣泛的架構(gòu)模式,它根據(jù)關(guān)注點分離的架構(gòu)原則,針對表現(xiàn)層、領(lǐng)域?qū)雍突A(chǔ)設(shè)施層進行層次分離。本次培訓將以全新視角審視分層架構(gòu),針對大型軟件系統(tǒng)分析該如何進行分層架構(gòu)設(shè)計。
案例分析:網(wǎng)上銀行的分層架構(gòu),根據(jù)最基本的業(yè)務(wù)流程對系統(tǒng)進行關(guān)注點分離,繪制系統(tǒng)的分層架構(gòu),并通過時序圖展現(xiàn)各層之間的協(xié)作。

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

演練:六邊形架構(gòu)的通信邊界
案例:大型金融系統(tǒng)的客戶管理

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

案例:AxonFramework對CQRS的支持

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

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

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

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

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

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

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




 

android開發(fā)板
linux_android開發(fā)板
fpga圖像處理
端海培訓實驗設(shè)備
fpga培訓班
 
本課程部分實驗室實景
端海實驗室
實驗室
端海培訓優(yōu)勢
 
  備案號:備案號:滬ICP備08026168號-1 .(2024年07月24日)....................
友情鏈接:Cadence培訓 ICEPAK培訓 EMC培訓 電磁兼容培訓 sas容培訓 羅克韋爾PLC培訓 歐姆龍PLC培訓 PLC培訓 三菱PLC培訓 西門子PLC培訓 dcs培訓 橫河dcs培訓 艾默生培訓 robot CAD培訓 eplan培訓 dcs培訓 電路板設(shè)計培訓 浙大dcs培訓 PCB設(shè)計培訓 adams培訓 fluent培訓系列課程 培訓機構(gòu)課程短期培訓系列課程培訓機構(gòu) 長期課程列表實踐課程高級課程學校培訓機構(gòu)周末班培訓 南京 NS3培訓 OpenGL培訓 FPGA培訓 PCIE培訓 MTK培訓 Cortex訓 Arduino培訓 單片機培訓 EMC培訓 信號完整性培訓 電源設(shè)計培訓 電機控制培訓 LabVIEW培訓 OPENCV培訓 集成電路培訓 UVM驗證培訓 VxWorks培訓 CST培訓 PLC培訓 Python培訓 ANSYS培訓 VB語言培訓 HFSS培訓 SAS培訓 Ansys培訓 短期培訓系列課程培訓機構(gòu) 長期課程列表實踐課程高級課程學校培訓機構(gòu)周末班 端海 教育 企業(yè) 學院 培訓課程 系列班 長期課程列表實踐課程高級課程學校培訓機構(gòu)周末班 短期培訓系列課程培訓機構(gòu) 端海教育企業(yè)學院培訓課程 系列班
主站蜘蛛池模板: 亚洲国产成人久久综合碰碰动漫3d| 国产91色综合久久免费| 天天综合久久久网| 狠狠色丁香久久婷婷综合蜜芽五月| 亚洲综合一区二区国产精品| 日日狠狠久久偷偷色综合96蜜桃| 狠狠色狠狠色综合日日五| 亚洲国产综合专区在线电影| 少妇熟女久久综合网色欲| 亚洲va欧美va天堂v国产综合| 欧美亚洲另类久久综合| 久久久久亚洲av综合波多野结衣| 色综合久久最新中文字幕| 亚洲综合国产精品| 亚洲 欧美 综合 高清 在线| 色综合合久久天天给综看| 国产日韩欧美综合| 色欲综合久久躁天天躁蜜桃| 一本综合久久国产二区 | 99久久综合国产精品免费| 亚洲综合在线观看视频| 国产色综合久久无码有码| 亚洲国产综合专区电影在线| 一本色道久久88加勒比—综合| 亚洲综合图片区| 色天使久久综合网天天| 天天操天天干天天综合网| 久久综合狠狠色综合伊人| 一个色综合国产色综合| 亚洲伊人tv综合网色| 乱欧美综合| 亚洲第一页综合图片自拍| 欧美激情中文字幕综合一区| 国产91色综合久久免费| 国产成人亚洲综合| 亚洲综合精品网站| 丁香五月亚洲综合深深爱| 国产精品天天影视久久综合网| 久久99国产综合精品女同| 国产香蕉尹人综合在线| 欧美日韩国产综合视频在线观看|