本文介紹如何在領域對象的基礎上直接批量創建應用服務、結構對象和數據模型。
背景信息
技術建模中結構對象、領域對象和數據對象中的很多字段可能都是相同的,如果所有的模型都從對象到字段逐個手動創建,會帶來較大的維護成本。系統支持根據領域對象直接批量創建應用服務、結構對象和數據模型,同時會自動創建模型間的關系映射,減少模型設計的工作量。
操作步驟
登錄BizWorks,在選擇平臺下拉列表中選中建模平臺。
單擊頁面右上角圖標或其文本框區域,在下拉列表中單擊目標項目名稱后,單擊建模頁簽。在建模導航欄中,選擇 。
在限界上下文頁面,單擊目標限界上下文名稱。
在目標限界上下文導航欄中,單擊領域對象。在領域對象頁面,單擊批量生成相關模型。
在批量生成相關模型面板,選擇生成范圍(支持全量生產和部分生成)。
如果您選擇全量生成,單擊下一步。
如果您選擇部分生成,在領域對象列表中選中目標領域對象后,單擊下一步。
在生成設置面板,完成相關參數配置。
配置項
描述
生成應用服務和結構對象
支持以下取值:
生成
每個領域對象都將生成一個應用服務,應用服務編碼規則為:領域對象編碼+Service,如果領域對象編碼超出29位,則截取前29位。
領域對象中,被標記為“聚合根”的對象生成的應用服務,將為具備完整增刪改查功能的應用服務方法。
領域對象中,被標記為“實體對象”、“值對象”類型的對象生成的應用服務,將僅為具備查詢功能的應用服務方法。
每個領域對象以及領域對象字段中引用其它的領域對象將生成對應結構對象,結構對象編碼規則為:領域對象編碼+DTO。
不生成
生成數據模型
支持以下取值:
生成
每個領域對象都將生成一個數據模型,數據模型與領域對象編碼相同。
領域對象中每一個基礎類型的字段都將生成數據模型的字段。
不生成
重復數據判斷規則
支持以下取值:
對象編碼重復
生成結構對象和數據模型時,僅判斷模型的編碼是否重復,不對模型字段編碼作比較。
生成應用服務時,僅判斷服務編碼是否存在,不判斷服務的字段。
字段編碼重復
生成結構對象和數據模型時,在模型的編碼重復時,繼續比較模型字段編碼,判斷字段是否重復。
生成應用服務時,僅判斷服務編碼是否存在,不判斷服務的字段。
重復數據處理策略
支持以下取值:
跳過重復數據
生成結構對象和數據模型時,如果編碼已經存在,則結構對象和數據模型的名稱、編碼以及所有的字段都不做任何修改。
生成應用服務時,如果服務編碼已存在,服務本身信息不做修改,并繼續判斷方法是否存在,如果方法編碼也相同則不再判斷出入參,該方法將不再重復生成。
覆蓋已有數據
編碼相同的數據將被覆蓋,包括名稱和類型。
不在生成范圍內的數據不受影響,將被保留。
終止生成數據:只要應用服務、應用服務方法、結構對象或者數據模型中有任何一個編碼與已有數據編碼重復,則任何數據都不會生成,生成過程將自動終止。
單擊開始生成,待界面提示生成成功后,單擊關閉。
您可以在數據模型和應用服務頁面,查看對應生成的數據模型、應用服務和結構對象。
說明批量生成模型時,系統會做如下處理:
為每個領域對象生成一個應用服務,應用服務中都包含一個按條件查詢的方法。
生成三個結構對象作為所有按條件查詢方法的入參:QueryCondition、Predicate和OrderBy。建議您不要隨便修改這三個方法,否則可能會導致生成的代碼報錯。
為每個結構對象生成一個分頁的結構對象****PageInfo作為按條件查詢方法的出參。
生成以下映射關系:
結構對象和領域對象
結構對象和數據對象
領域對象和數據對象
如果領域對象間有繼承關系,生成結構對象時也同樣會保留繼承關系。