Каков наилучший способ связи представления со своим контроллером? В большинстве примеров используется Ext.dispatch
, но мне это кажется неправильным по нескольким причинам:
- Он связывает вид с контроллером, что затрудняет его повторное использование. Если представление вложено в другое представление, может быть нежелательно - или даже неправильно - вызывать тот же контроллер / действие.
- Наличие представления диктует контроллеру, какое действие предпринять инвертирует иерархию. Команды должны идти вниз, события должны идти вверх.
Итак, должны ли представления всегда запускать события и никогда не вызывать определенные контроллеры? Таким образом, родительское представление (если оно есть) или конкретный контроллер могут решить, как реагировать. В этом случае содержащее представление должно всплывать дочерние события, которые оно не обрабатывает, поэтому они могут обрабатываться выше в иерархии.
OR
Должны ли представления предпочитать запускать события, а не вызывать определенные действия контроллера, но не доходить до крайностей? Я подчеркиваю предпочтение, потому что я могу вспомнить случаи, когда представление всегда должно вызывать одно и то же действие, например, кнопка выхода. Это похоже на скользкий уклон ... откуда вы точно знаете, что вам никогда не придется отменять действие этой кнопки?
Спасибо.