低代碼開發(fā)平臺核心架構(gòu)之二領(lǐng)域驅(qū)動(低代碼開發(fā)平臺技術(shù)架構(gòu))
我們在上篇文章簡單介紹了模型驅(qū)動的概念,要想理解什么是模型驅(qū)動,我們必須依據(jù)方法論先把原理講清楚,后續(xù)通過DSL來描述各個層級模型就水到渠成了。我們先從業(yè)務(wù)組件談起,最終給出業(yè)務(wù)模型與領(lǐng)域模型之間的關(guān)系。
業(yè)務(wù)組件
業(yè)務(wù)組件(Business Component,BC)定義為:一個可以獨立運(yùn)行的構(gòu)建企業(yè)的系統(tǒng)或功能模塊。通俗來說,業(yè)務(wù)組件就是對達(dá)成特定目標(biāo),需要完成的一組緊密關(guān)聯(lián)的工作事項的合集。
業(yè)務(wù)組件包含五個要素:
1. 目標(biāo)/用途:為什么存在,創(chuàng)造什么價值,如何衡量;
2. 活動:定期執(zhí)行的是哪些簡單的、具有凝聚性的活動;
3. 資源:需要哪些知識、資產(chǎn)和人力資源;
4. 治理:活動和資源是如何管理的;
5. 服務(wù):從其他組件獲得哪些內(nèi)容,以及向其他組件提供了哪些內(nèi)容。
業(yè)務(wù)組件的特點:
1. 業(yè)務(wù)組件有自己的輸入/輸出,在企業(yè)中承擔(dān)特定的職責(zé),對外提供服務(wù);
2. 業(yè)務(wù)組件是唯一的、不會重復(fù)的構(gòu)造塊,由一系列緊密關(guān)聯(lián)的活動組成,可以單獨運(yùn)行;
3. 企業(yè)的業(yè)務(wù)活動只能歸屬于某一個組件,組件間通過調(diào)用服務(wù)的方式進(jìn)行協(xié)同與交互;
4. 業(yè)務(wù)組件具有高內(nèi)聚,低耦合的特點。
業(yè)務(wù)模型與組件模型之間的關(guān)系
業(yè)務(wù)模型與組件模型
業(yè)務(wù)模型與DDD映射關(guān)系
業(yè)務(wù)模型與DDD
業(yè)務(wù)領(lǐng)域?qū)?yīng)DDD領(lǐng)域,業(yè)務(wù)活動與業(yè)務(wù)任務(wù)分別與DDD應(yīng)用層及領(lǐng)域服務(wù)相對應(yīng)。
我們對業(yè)務(wù)、組件、服務(wù)的結(jié)構(gòu)化對應(yīng),這樣一來,我們就可以通過DSL輕松定義描述客戶業(yè)務(wù)需求、組件與服務(wù)以及數(shù)據(jù)模型,為后來低代碼打下堅實的理論基礎(chǔ)。