Class 事件的 UML 建模图

Class Diagram UML modelling for Events

python 中有一个名为 "events" 的模块,我们可以从中导入一个名为 "Events" 的对象。 URL for events module

对象可以向对象注册一个回调方法,其他对象可以调用事件的成员。例如。如下所示:

from events import Events

#Implementation of Events
class EventGroup(Events):
  __events__ = ('eventOne', 'eventTwo', 'eventThree')

eventGroupOne = EventGroup()


#This class subscribes to the events
class Subscriber():
  def __init__(self):
    eventGroupOne.eventOne += self.onEventOne

  def onEventOne(self):
    print("EventOne invoked")


#This class invokes the events
class Invoker():
  def someFunction(self):
    eventGroupOne.eventOne()

我们如何在 Class Diagram UML 中显示 类 EventGroup、Subscriber 和 Invoker 之间的关系?

如果您严格遵守定义,class 图可以只显示使用过的成员:

在这种情况下,eventOne、eventTwoeventThree 仅在对象图中可见


另一种稍微作弊的方法是考虑 eventOne、eventTwoeventThreeEventGroup[= 的属性28=]: