Я разрабатываю настольное приложение с несколькими уровнями: уровень GUI (WinForms MVP) содержит ссылки на интерфейсы классов адаптеров, и эти адаптеры вызывают классы BL, которые выполняют фактическую работу.
Помимо выполнения запросов от GUI, BL также запускает некоторые события, на которые GUI может подписаться через интерфейсы. Например, в BL есть объект CurrentTime
, который периодически изменяется, и GUI должен отражать эти изменения.
Есть две проблемы, связанные с многопоточностью:
На каком уровне лучше всего обрабатывать многопоточность? Моя интуиция подсказывает, что Presenter лучше всего подходит для этого, я прав? Можете ли вы дать мне пример приложения, которое делает то, что мне нужно? И имеет ли смысл для докладчика хранить ссылку на форму, чтобы он мог вызывать в ней делегатов?
РЕДАКТИРОВАТЬ: Награда, вероятно, достанется Хенрику, если кто-то не даст еще лучшего ответа.