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