Я отвечаю за архитектуру внутренней кодовой базы / SDK.Мы конфликтуем о том, как стандартизировать порядок запуска обратных вызовов и событий внутри API.Мы обеспокоены двумя случаями.
class Foo {
public event Action StuffDone;
public void DoStuff(Action callback) {
StuffDone?.Invoke();
callback?.Invoke();
}
}
Мы поняли, что иногда порядок вызова события и обратного вызова меняется на противоположный, и это кажется очень противоречивым, но мы не можем найти какой-либоресурсы для резервного копирования одного или другого способа заказа.
Представлены две причины:
Позвоните на номер event
до callback
, поскольку event
является частью процесса, а callback
является просто сигналом завершения процесса для вызывающего абонента.
Вызовите event
после * callback
, потому что вызывающий метод / инициатор процесса должен быть сначала уведомлен о завершении процесса, а не другие объекты (через event
).
Буду признателен за все отзывы и ресурсы!