Domain Model:業務對象的進一步設計2

來源:互聯網
上載者:User
   Author :  Anders小明

   續《Domain Model:業務對象的進一步設計》
   
    Product Line

    Product Line體系存在比較特殊,Product Line的概念並不明顯。Product Line以Product為核心,維護了一類product所共有的屬性與其它關聯業務對象如Document,同時維護了不宜在product一級維護的資訊:product與其它業務對象與商務邏輯,如與contract的約束關係。具體如下:
    Product Line維護Product共有的屬性以及關聯關係 
   1.     維護product共有的屬性。
這個比較好理解,最類似的是category對象。 
   2.     維護product共有的關聯關係。
這個好理解,目的只在一個點維護,避免無謂重複。 
  
   Product Line還維護不宜在product層次維護的資訊和邏輯(註:並不是很絕對的,通常而言,以下幾種資訊和邏輯的維護,在實際應用中都針對product line一級,但在某些業務中,還需要維護特定的product): 
   1.       維護product與其Visitor對象的關聯關係。 
   Product或者Contract總是需要對User是可視的,《分析模式》的10.5.4專門討論了這塊內容。由於同類的Product的Visitor是有共性的,同時Visitor和Product關係並不是那麼直接,甚至對於某些項目來說,同一product line下的所有product的可視性都是一致的,因而在product一級上維護Visitor。 
   除了單個product的可視性,通常還有product line的search功能。支援Search功能的類型也是在這一級維護的。 
   2.       維護product與其關聯對象的約束關係。 
   這個是適用於product的定義的用例。當product關係複雜時需要通過給出一些約束關係以保證產品的定義的完整性。比如product都有與其關係document對象,但是document對象又分為多種類型,但對於某類的product需要關聯特定三種類型文檔,這種約束關係就定義在product line對象上。 
   3.       維護product與contract的約束關係。 
   在複雜的業務中,contract和product的關係並不是單向的,除了contract將保持對product的引用外,product也會有限定的contract的適用。比如product的結算的貨幣;現實的例子是:攜程旅行網的電子機票只允許電子銀行支付方式;eBay上的某些促銷物品只允許快遞的送貨協議。當然,對於這樣的約束關係定義product一級還是product line一級是需要根據項目特點分析的。 
   4.       維護product與商務程序以及行為的約束關係。 
   這是比較少見的,但還是存在。例如對於某種類型的product,不允許在業務上做批改動作;對於某類型的產品在商務程序上需要預先填一份業務單據等。相比而言,通常商務程序(主要是頁面流)以及業務行為和product line關聯,很少見到和某個具體product關聯。 
 
   Product Line是所知的最麻煩的領域對象體系,包含了很多邏輯在內,顯的有點混亂,不過細想還是有點道理的。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.