скажем, у меня 4 класса
- ControllerClass
- MethodClass1
- MethodClass2
- MethodClass3
и каждый MethodClass имеет асинхронный метод DoStuff (), и у каждого есть CompletedEvent.
ControllerClass отвечает за вызов 3 асинхронных методов для 3 MethodClasses в определенном порядке .
Таким образом, ControllerClass вызывает MethodClass1.DoStuff () и подписывается на MethodClass1.CompletedEvent. Когда это событие запускается, ControllerClass вызывает MethodClass2.DoStuff () и подписывается на MethodClass2.CompletedEvent. Когда это событие запускается, ControllerClass вызывает MethodClass3.DoStuff ()
Есть ли лучшая практика для такой ситуации? Это плохой дизайн?
Я верю, что это потому, что
- Мне трудно пройти юнит-тест (верный признак)
- Изменить заказ нелегко
- У меня неприятное чувство обоняния по этому поводу
Каковы альтернативы в такой ситуации?
Примечание. Я нацеливаюсь на платформу .NET 2.0