【发布时间】:2009-09-24 22:32:12
【问题描述】:
我正在尝试将功能添加到用户可以订阅所做更改的应用:
- 给另一个实体(由任何用户)
- 由其他用户(对任何其他实体)
- 两者的组合(最后一个是可选的,但使问题更具挑战性)
我想知道如何最好地将这些规则保存到数据库中。
我自然倾向于为每个给定实体(包括用户本身)添加一个额外的 UserSubscription 表/实体(例如,PublisherUserSubscription、BookUserSubscription、UserUserSubscription)
这意味着订阅将保持完整性并强制执行。但是,如果我以后更改订阅模型,这似乎会迅速增加我需要的表数量,并且可能导致非常脆弱的设计。 (每个现有的表都可能需要更新)。
鉴于这是一个相当普遍的现实世界场景,我预计会有一些模式。谁能推荐一些?
【问题讨论】:
标签: design-patterns persistence observer-pattern rules