我负责内部代码库/ SDK的架构。我们对如何标准化触发API内部回调和事件的顺序感到矛盾。我们关注的有两种情况。
class Foo {
public event Action StuffDone;
public void DoStuff(Action callback) {
StuffDone?.Invoke();
callback?.Invoke();
}
}
我们已经意识到有时调用事件和回调的顺序是相反的,而且看起来非常不一致,但我们找不到任何资源来备份一种排序方式或另一种方式。
提出了两个原因:
event
只是调用者完成进程的信号。callback
之后调用event
,因为该进程的方法/调用者的调用者应首先通知进程完成,而不是其他实体(通过callback
)。将欣赏所有的反馈和资源!
你想让它明确。事实上,当你调用行为很重要时。这意味着您应该考虑如何使用您的活动并进行相应的设计。你想要一个,另一个,还是两者兼而有之?无论如何,请尝试使事件的名称非常明确。
event