使用模型 (Model)
从原理上来说, Dispatchable 可以描述 任何 包含一 Dispatcher 类属性的类声明,
这意味着我们能配合 pydantic, dataclass 之类的方便事件实例的构建.
在实际实现中, 我们只需要简单的继承 Dispatchable,
如果是 pydantic 就再继承 BaseModel, 如果是 dataclass 就直接 @dataclass,
我们的 Dispatchable 只在乎它有没有声明 Dispatchable,
所以这种做法是被允许的.
class TestEvent1(Dispatchable, BaseModel):
a: int
b: str
class Dispatcher(BaseDispatcher):
...
@dataclass
class TestEvent2(Dispatchable):
a: int
class Dispatcher(BaseDispatcher):
...
broadcast.postEvent(TestEvent1(a=1,b="2"))
broadcast.postEvent(TestEvent2(1))