我經常遇到在多對多關係中選擇交互模式的問題。以下示例演示了實現相同目標的四種不同方式。四種類型的介體
的目標是從一個組實體(DeliveryCompany
,College
,Supermarket
)傳遞消息(廣告)到另一個(LazyBob
,CleverAnn
,FastJon
)。很明顯,我們需要一個調解員(AdBoard
),這將有助於發佈商將他們的廣告發送給適當的人員和訂閱者,並通知他們有關提議。
對廣告的迴應目前沒有顧慮,但如果它很重要,我們可以認爲它將來有必要。無論如何,這響應必須有一個不同的路徑(我們不迴應廣告與其他廣告吧?)
第一:
所有的用戶都必須實現描述他們之間的分歧的接口。調解員與他們一起注入併爲發佈者的目的實現一個接口。
二:
第一的反向版本。現在發佈商實現了一個描述他們的偏好的界面它由調解器使用,爲用戶的目的實現一個接口。
三:
中保實現兩個接口:用於發送有針對性的廣告(後端)和上有趣的話題(前端)接收廣告。後端注入所有發佈者,前端注入所有訂閱者。
四:
的第三反向版本。現在中介注入了許多實現其接口的發佈者和訂閱者。
問題:
難道這些變種達成同樣的成功目標是什麼?
在發展的早期階段,每一個都可以毫無疑問地選擇,對不對?如果不是,選擇的算法是什麼?
你能解釋它們的區別嗎?你不確定的是什麼決定? – Meier
差異應該從圖表中清楚,但我會在一分鐘內添加一些解釋。我不確定選擇哪一個。我應該兩次擲硬幣嗎?你會怎麼做? – astef