2016-09-20 24 views
8

這裏我們的商業案例,域對象身份重用vs創建新

應用程序提供即時報價爲二手iPhone,並允許賣方立即出售。另一方面,有買家願意立即購買或出價。有潛力的零售商可以訪問網站並根據年份,型號,條件,配件輸入獲得即時報價[iQuote123]。

系統每次有人使用該過程時都會創建新的報價標識。如果賣家決定接受報價,那麼它將立即被接受,並提供更多有關序列號,照片等信息。系統將生成唯一的交易ID [iTransaction123]。

在極少數情況下,由於條件問題,買方可能無法顯示或拒絕iPhone。我們可能會爲賣家找到另一個買家。

我想徵求一下,如果如果買方接受要約後,以後的變化情況發生變化或賣方要產生新的事務ID的意見。

如果我們保留相同的事務ID,它使事情變得簡單,賣家只需記住一個引用,因爲它對於同一個iPhone而言是有道理的,但對於後端支持人員來說只是不同的買家,它創建了具有通信的唯一事務的通信線程來自新老買家。我覺得最好的處理方法是爲買方交易[iBuyerTransaction123]創建一個單獨的對象,並將其與賣方交易進行映射,以便在第一個買方未能執行交易對象的情況下爲同一賣方創建多個買方交易對象。

我要找來處理時創建的身份,以及何時重新使用域身份與方針的最佳途徑。

+0

如果您使用不同的實體使用相同的ID,那麼您可能會發現同一個術語的不同方面,它應該屬於一個單獨的子域。如果情況並非如此,那麼我認爲如果你覺得這些東西不屬於彼此,你應該使用兩個不同id的實體。這只是一個受過教育的猜測。另一種可能的技術來檢查業務影響,不同實現的利弊。 – inf3rno

回答

6

我想尋求意見,如果我們應該產生新的交易ID,如果買方更改或賣家稍後改變條件接受報價後。

的最常見問題 - 請向您的域名專家覈實。

根據您的描述,我希望找到有你的模型中的實體,你還沒有發現,一些代表買方和賣方之間的交換建議。

推測(我不知道你的域名),你真的有兩件不同的事情在這裏發生。首先,你有一堆購買請求,並出售你想要匹配的請求。然後,在你找到一個匹配後,有一些交換進程通過雙方之間的實際談判。在快樂的道路上,雙方都滿意,一切都達到了生命的盡頭。當其中一方不滿意交易所時,交易所結束,但雙方回到配對樁。

您需要一個實體來跟蹤此過程的狀態。

賣方的觀點將被鎖定到他們的一個參考值,且鍵將被用於查找當前匯率(如果是正在進行中),而此前關閉的交換(如果有的話)。

這實際上是在塑造一個共同的模式 - 當你有兩個實體都有一個獨立的生命週期,這兩個實體之間的互動往往是跟蹤在第三實體,它有自己的生命週期。