背景
一個實體在不同的上下文中具備不同的職責,如:産品在“生産完成上下文”中具備的一些職責,在“質檢相關上下文”中具備另外一些職責。四色原型、DIC和“UML事物模式”在不同的次元闡述了這一情況,在代碼層面到底該如何表達呢?本文給出了一些思路。
六種實作方式
因為:MI(Manufacture和QualityTesting)和Context(ManufactureContext、QualityTestingBeginningContext和QualityTestingCompletingContext)都是空實作且每種風格中的代碼都一樣,後面隻給出跟PPT和Role相關的代碼。
類圖

代碼
時間不夠了,這種實作方式需要獨立寫一篇文章。
如何設計Context?
PPT對應的Role會參與到一個到多個Context中,一般來說一個Context涉及一個MI,如果MI為“Moment”,多數情況需要一個Context,如果MI為“Interval”,多數情況需要兩個Context,根據MI的業務生命周期不同,所需的Context也不同。
備注
倉促寫完,還沒有具體深入分析如何做出不同的選擇和折中,群裡有朋友實戰過,有機會再寫一篇這樣的文章。