我正在嘗試爲我的公司建模一個計劃應用程序,並且可以使用一些建議。如果合適,我想遵循域驅動設計。使用DDD建模計劃
該域包含一個Show對象,代表一個貿易展覽,展覽或會議,我們可能會推廣我們的產品。它具有開始和結束日期和時間,議程,發言人名單,地點等。可以使用演出完成一些工作,例如分配發言者,註冊參與者,取消等。
我們通常作爲一個或多個營銷活動的一部分參加展會。廣告系列還包含開始日期和結束日期以及其他信息,以及我們將參與該廣告系列的節目列表。我們可能會在特定的展會上宣傳多個廣告系列。
可以在廣告系列中添加或刪除節目,並且在取消節目時,必須從與其關聯的任何廣告系列中刪除節目。
我的第一個想法是將Schedule聚合根與包含Show對象列表的Campaign實體列表進行比較。但是我需要一種訪問獨立節目的方式 - 一個節目可以與多個廣告系列相關聯。看看我的用例,我正在開發一個Silverlight客戶端(但也可能會移動)。主視圖將是一個日曆類型的用戶界面(如Outlook),將每個顯示顯示爲約會。還有側欄顯示即將進行的節目,當前的廣告系列和顯示有後續任務。當我在任何這些視圖中雙擊一個項目時,顯示細節顯示在一個子窗口中。
任何建議如何在我的應用程序代碼中建模該域名?
這只是因爲我試圖簡潔,直到我開始討論模型時才引入Schedule。實際上,時間表是應用程序的全部要點。時間表代表所有節目。 – SonOfPirate
此外,在客戶的意見中,展會不一定了解宣傳活動。在我們所有的討論中,他們只提到將展覽分配給廣告系列。從邏輯上講,我同意你的觀點,但我也希望確保只有一個Campaign由所有展示共享的實例分配給它。這就是我最初認爲Campaign是根源的原因,但這樣做卻忽略了現實,即不會出現Campaign的一部分。 – SonOfPirate
不幸的是,由於網絡安全限制,我現在無法訪問您的鏈接,但今天晚上將從家中返回。 – SonOfPirate