我正在尝试设计一个类似于facebook的通知系统,但我已经遇到了一些困难。我的要求是能够支持无限数量的通知类型,这些通知类型可能具有需要呈现的不同类型的元数据。
我认为我将按如下方式设计模式:
**Notification**
Id (int)
TypeId (int)
RecipientId (int)
SenderId (int)
SendDateTime (DateTime)
Read (bool)
MessageData (...Blob?)
Deleted (bool)
**NotificationType**
Id
Name
Description
我真的很想避免在我的数据库中存储HTML字符串,然而,我也不是特别喜欢存储blobs。
我可以在NotificationType表上查找并引用另一个存储特定于该类型的数据的表,然而,这意味着每次我创建新的通知类型时,我都需要创建一个新表。我相信我也会把自己带入一个不得不编写动态SQL来获取数据的世界。
有人对我有什么建议吗?
发布于 2013-03-02 09:01:35
这就是我是如何解决这个问题的。
我决定使用字典来存储每种通知类型唯一的数据。然后,我将该字典对象序列化为二进制字符串,并将其与每个通知一起存储在数据库中。我有一个模板分配给每个通知类型,其中包含占位符ie。'{song-title}‘,我可以将其快速替换为我的字典对象中的值。
https://stackoverflow.com/questions/15013713
复制相似问题