<progress id="zvesa"></progress>

  1. <dd id="zvesa"></dd>

        <button id="zvesa"><acronym id="zvesa"></acronym></button>

        <dd id="zvesa"></dd>

        DDD戰術篇:領域模型的應用

           信息來源:HPRSTNcf時間:2020-04-07 02:15:08

        領域驅動設計DDD在戰術建模(后文簡稱建模,除非特別說明)上提供了一個元模型體系(如下圖),通過這個元模型我們會對戰略建模過程中識別出來的問題子域進行抽象,而通過抽象來指導最后的落地實現。

        (DDD構建的元模型元素腦圖)

        這里我們談的戰術階段實際就是這樣一個抽象過程。這個抽象過程由于元模型的存在實際是一定程度模式化的。這樣的好處是并非只能技術人員參與建模,業務人員經過一定的培訓也是完全可以理解的。在帶領不少團隊實踐建模的過程中,業務人員參與戰術設計也是我要求的。

        由于已經有不少書籍介紹DDD的元模型,這里我們就不再贅述,轉而談談這個抽象過程中大家經常遇到的一些困惑。這些比較常見的問題可能是DDD元模型未來演進需要解決的,但我們仍然要注意業務問題和架構設計的多樣性,不要過度規范,以至于過猶不及。業務對象的抽象

        通過對業務問題的子域劃分,我們找到了一些關鍵的業務對象。在開始進行抽象前一個必須的步驟就是“講故事”!

        講什么故事呢?關于這個子域解決的業務問題或者提供的業務能力的故事。既然是故事,就必須有清晰的業務場景和業務對象之間的交互。這件事情看起來是如此自然和簡單,然則一個團隊里能夠站起來有條不紊陳述清楚的卻沒有幾人。讀到這里的讀者不妨停下來試試,你是否能夠把現在你所做的業務在兩三分鐘內場景化地描述出來?

        這么做顯然目的是讓我們能夠比較完整地思考我們所要提煉和抽象的業務對象有哪些。只有當我們能夠“講”清楚業務場景的時候,才應該開始抽象的步驟。對于一個業務對象,我們常見的抽象可以是“實體”(Entity)和“值對象”(Value Object)。


        我本沉默飛揚版本 http://www.311pk.com