領域驅動:上下文關係

限界上下文之間的關係

  • 合做關係(Partnership):兩個上下文緊密合做的關係,一榮俱榮,一損俱損。
  • 共享內核(Shared Kernel):兩個上下文依賴部分共享的模型。
  • 客戶方-供應方開發(Customer-Supplier Development):上下文之間有組織的上下游依賴。
  • 遵奉者(Conformist):下游上下文只能盲目依賴上游上下文。
  • 防腐層(Anticorruption Layer):一個上下文經過一些適配和轉換與另外一個上下文交互。
  • 開放主機服務(Open Host Service):定義一種協議來讓其餘上下文來對本上下文進行訪問。
  • 發佈語言(Published Language):一般與OHS一塊兒使用,用於定義開放主機的協議。
  • 大泥球(Big Ball of Mud):混雜在一塊兒的上下文關係,邊界不清晰。
  • 另謀他路(SeparateWay):兩個徹底沒有任何聯繫的上下文

一點經歷:

在以前公司 ,設計優惠/營銷系統時,對於優惠條件的聚合,優惠條件的選擇,優惠條件的計算等。這一系列的邏輯操做的實現上,有一點點DDD中的思想(都是回頭纔看到的)設計

  • 實體:計算符定義
  • 值對象:優惠條件字段對應的計算方式
  • 聚合根:優惠字段的分類聚合

細節:orm

  • 商品/訂單/品牌...都有可能成爲優惠條件
  • 滿減{減...}/滿贈{贈...}計算方式/贈送禮物也不定
  • 限時/限量/限用戶...限制條件更復雜

總結公式: 優惠條件=什麼時候+何人+何品牌...何價格+何優惠對象

實現ip

  • 整理判斷優惠條件的基礎計算符號: <,>,=,!=,包含,不包含開發

  • 整理設定優惠條件的字段:商品的品牌,訂單的價格等io

  • 整理優惠條件場景:eg.商品:針對商品品牌,商品價格等form

  • 整理具體優惠方案:知足條件下的具體操做「減 價或贈送 」class

    定義基礎的邏輯運算符,用於判斷這一訂單中的某些屬性是否知足設定值 定義參與優惠設定的字段及對應的可用邏輯運算符,用於設置優惠時候的選項 優惠條件字段的聚合:區分出商品/訂單的不一樣條件基礎

    建立優惠活動:總結

    • eg.選中指定商品/或者指定品牌,選擇活動時間,選擇優惠方式,設置優惠值
    • eg.添加聚合優惠條件:指定品牌,指定商品價格,指定訂單價格...選擇優惠方式,設置優惠值

    驗證邏輯:

相關文章
相關標籤/搜索