Сообщение от Skipp
|
А почему не иметь возможность использовать такую конструкцию контролёр -> модуль -> модуль
|
Мясо.
Во втором варианте это вполне реализуемо:
модуль (источник события) -> контроллер -> (например) другой модуль -> контроллер... и так далее.
Есть ещё одно удобство, которое я называю "отложенное событие".
1. Модуль получил инструкцию по событию.
2. По внутренней логике, он не может на него отреагировать, пока не наступит другое событие. Поэтому он все (но не дублирующие) события (имена) откладывает до наступления нужного (а не хранит полученные данные - вдруг не пригодятся?).
3. Когда необходимое событие наступило - реакцией будет проброс накопившихся событий в контроллер и последующее обновление (если таковое необходимо).
Логика обработки событий может быть разная, главное, что она не затрагивает лишнее.