我正在尝试为我的公司建模一个计划应用程序,并且可以使用一些建议。如果合适,我想遵循域驱动设计。使用DDD建模计划
该域包含一个Show对象,代表一个贸易展览,展览或会议,我们可能会推广我们的产品。它具有开始和结束日期和时间,议程,发言人名单,地点等。可以使用演出完成一些工作,例如分配发言者,注册参与者,取消等。
我们通常作为一个或多个营销活动的一部分参加展会。广告系列还包含开始日期和结束日期以及其他信息,以及我们将参与该广告系列的节目列表。我们可能会在特定的展会上宣传多个广告系列。
可以在广告系列中添加或删除节目,并且在取消节目时,必须从与其关联的任何广告系列中删除节目。
我的第一个想法是将Schedule聚合根与包含Show对象列表的Campaign实体列表进行比较。但是我需要一种访问独立节目的方式 - 一个节目可以与多个广告系列相关联。看看我的用例,我正在开发一个Silverlight客户端(但也可能会移动)。主视图将是一个日历类型的用户界面(如Outlook),将每个显示显示为约会。还有侧栏显示即将进行的节目,当前的广告系列和显示有后续任务。当我在任何这些视图中双击一个项目时,显示细节显示在一个子窗口中。
任何建议如何在我的应用程序代码中建模该域名?
这只是因为我试图简洁,直到我开始讨论模型时才引入Schedule。实际上,时间表是应用程序的全部要点。时间表代表所有节目。 – SonOfPirate
此外,在客户的意见中,展会不一定了解宣传活动。在我们所有的讨论中,他们只提到将展览分配给广告系列。从逻辑上讲,我同意你的观点,但我也希望确保只有一个Campaign由所有展示共享的实例分配给它。这就是我最初认为Campaign是根源的原因,但这样做却忽略了现实,即不会出现Campaign的一部分。 – SonOfPirate
不幸的是,由于网络安全限制,我现在无法访问您的链接,但今天晚上将从家中返回。 – SonOfPirate