9 Stimmen

Warum sollte ich Ext.dispatch verwenden, anstatt den Controller-Code direkt aufzurufen?

Bei der Verwendung der [relativ neuen] MVC-Bits in Sencha Touch finde ich, dass 90 % meiner Dispatch-Aufrufe in etwa so aussehen:

Ext.dispatch({
    controller: "customers",
    action: 'show',
    record: record
});

Das ist in Ordnung, und ich mag die Delegierung des Flusses an den separaten Controller-Code, anstatt komplizierte Pfade von Ereignissen, aber ich habe noch zu sehen, einen Vorteil über nur etwas wie tun:

controllers.customers.show({
    record: record
});

Das ist kürzer und sauberer. Ich habe das Gefühl, ich folge nur dem Ext.dispatch Muster um des Musters willen. Meine App profitiert nicht von Push/Pop-Url-Historie für Zustand, und das ist der einzige Grund, den ich für die Verwendung dieser längeren komplexeren Ansatz sehen kann.

Was übersehe ich? Was gewinne ich durch die Verwendung von Ext.dispatch zum Aufrufen von Controllern?

9voto

Jason Freitas Punkte 1521

Das beforedispatch-Ereignis ist praktisch, wenn Sie sie an einen anderen Controller umleiten müssen.

Mit Dispatch kann ich auch den Controller-Code nach Bedarf laden, anstatt alles auf einmal beim Laden der Seite. Ich habe meine App Startzeit auf diese Weise halbiert.

Sie sagten, Ihre Anwendung brauche das nicht, aber die Möglichkeit, die historyUrl zu setzen und direkt auf Seiten zu verlinken, wäre meiner Meinung nach der Hauptnutzen für andere Benutzer.

Es hängt also von der jeweiligen App ab, ob es sinnvoll ist, sie zu nutzen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X