实时通知UML类图

use*_*259 25 php notifications uml entity-relationship symfony

我正在尝试实现一个实时通知系统(如fb,xing,twitter ..).因此,我在构建实体之前创建了一个UML类图.展示如下:


编辑:我想到了这种方法,似乎这不是正确的方法.让我们检查下面的情况:用户U在事件E的图像中添加了注释C.如何正确存储,我的意思是EventNotification只有事件E的引用,但不在I和C上.因此我需要创建一个"EventImageNotification"类也是如此,这将是一个烂摊子.如果只有一个"通知"类并向其添加"元数据"字段,它是否是一个更好的解决方案,它存储对所有相关字段的引用?


(我以后使用OR-Mapper来实现关系).

[1]一个用户可以创建活动,例如"Silvester Party 2015".(一对多).此事件有一个仪表板,当创建者在该事件上发布内容时,用户可以订阅接收更新(ManyToMany).

[2]当用户在事件的仪表板上发布内容时,订阅的用户应该收到通知.因此,我创建了EventNotification类.用户和EventNotification之间的关系是ManyToMany.

[3]为了保持清洁,我创建了一个与Notification类型相关的AbstractNotification类.通知类型类似于name ="EventPost"和template ="用户用户在事件__event上发布了新内容".

[4]抽象类NotificationConnector为EventNotification和User(UserEventNotification)之间的映射类提供字段.我创建它们以便将来轻松扩展它,例如用户可以创建也触发事件等的书籍.然后我需要创建一个"BookNotification"和一个"UserBookNotification"类来存储这个新实体的通知.

这种方法是好的还是完全搞砸了?请告诉我您对此图表的看法:

(建立关联的箭头应该是正常的线,我使用的工具就是不能这样做).

通知UML

qwe*_*_so 1

只是一些观察:

  • 这两个抽象类似乎是多余的,因为您仅在一种上下文中使用它们。
  • hasfrom 的连接应该User转到 toUserEndNotification而不是抽象类(无论如何我建议放弃它)。
  • 我会做NotificationType一个<<enumeration>>
  • 我不会使用关系,而是使用andowns之间的关联类并添加and属性。UserEventisOwnerisSubscriber