<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          好的領域模型應該是什么樣子?

          共 975字,需瀏覽 2分鐘

           ·

          2022-12-18 09:34

          ?

          好的領域模型應該長什么樣子?

          DDD說,領域模型應該是可以準確表達業(yè)務需求的模型。

          模型和領域模型是兩個概念,模型可以是數(shù)據(jù)模型或服務模型,領域模型是以領域為核心的模型,是對領域知識嚴格組織和抽象得來的。

          ?

          那,應該如何描述領域模型呢?

          是UML圖?還是編程代碼?還是一個完整的書面文檔?

          這些僅僅是表達領域模型的一種載體,如果UML圖、編程代碼、書面文檔不能傳遞出領域知識,那就不是領域模型。

          一個好的領域模型應該包含如下特征:

          1.  用統(tǒng)一語言來表達領域中的概念;

          2.  涵蓋了業(yè)務活動和規(guī)則等領域知識;

          3.  對領域內(nèi)的知識做了適當?shù)奶釤捄统橄螅?/p>

          4.  建立了一個迭代演進的過程;

          5.  有助于業(yè)務人員和技術人員的交流;


          所以,我們忘記載體,關注于他如何傳遞領域知識,并且有助于技術人員和業(yè)務人員的交流,那他就可以稱為領域模型。

          模型設計和模型實現(xiàn)其實是兩件事情,就像在公司里面老板做戰(zhàn)略取舍,基層做戰(zhàn)術落地,在領域模型的設計和實現(xiàn)上應該也分開。

          模型是作基本職責的分配,程序是模型的具體表達。

          Eric Evans說:將分析、建模、設計、編程工作過度分離對模型驅(qū)動設計會產(chǎn)生不良影響。

          所以要將分析、設計、實現(xiàn)統(tǒng)一到模型設計中考量。

          在分析階段,業(yè)務人員和技術人員在一起工作,建立準確和簡潔的分析模型,直觀傳遞不同角色對業(yè)務知識的理解。

          在設計階段,基于分析模型對模型中的設計進行改進,考慮職責的合理分配和協(xié)作,建立有指導意義的設計模型。

          在實現(xiàn)階段,代碼忠實反映模型的設計,反映出模型中的領域和知識。

          戰(zhàn)略設計環(huán)節(jié),識別出業(yè)務場景下,系統(tǒng)的限界上下文。

          在限界上下文中,提取語義相關和功能相關的用例,作為分析建模的重要輸入。

          戰(zhàn)術設計環(huán)節(jié),通過用戶故事迭代,逐步對比模型進行細化,引入設計模式,結(jié)合TDD開發(fā)等進行編碼實現(xiàn)。

          領域服務應該是一系列活動集合,是領域服務下的關鍵環(huán)節(jié)。

          在每個關鍵環(huán)節(jié),對于不同用戶身份,應該有規(guī)則映射處理細節(jié),這部分規(guī)則可以有機的、結(jié)構(gòu)化的可視化出來,便于溝通。

          領域服務應該和領域掛鉤,指導每個關鍵領域下應該有的活動有哪些。

          要想實現(xiàn)這些活動集的復用,就需要明確輸入和輸出,看得清輸入、輸出、關鍵流程才敢去復用。

          總結(jié)來說,領域、領域服務、領域節(jié)點、業(yè)務身份的關鍵規(guī)則、為領域服務復用的輸入和輸出,都是可以被可視化和配置化起來的。

          瀏覽 77
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一级黄色电影在线看 | 手机看片一区二区三区 | 手机在线毛片 | 人体一级A片-国产日日爱-成人AV | 午夜精品少妇 |