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