Welche Präsentationsmuster werden Ihrer Meinung nach Ext bevorzugt oder haben Sie erfolgreich hohe erreicht? Testbarkeit und Wartbarkeit?
Da Ext-Komponenteninstanzen in der Regel eng mit dem Status und einer Art von Darstellungslogik verbunden sind (z. B. Formatüberprüfung für Textfelder), ist Passive View keine natürliche Anpassung. Supervising Presenter scheint zu funktionieren (und ich habe es bei einer Gelegenheit schmerzlos benutzt). Wie steht es mit der Eignung von Präsentationsmodell ? Irgendwelche anderen?
Obwohl diese Frage speziell für Ext gilt, kann sie auf ähnliche Frameworks wie SmartClient und sogar RIA
Wenn Sie an Präsentationsmuster denken, ist das ein großartiges Zitat:
Trennen des Benutzerschnittstellencodes von alles andere ist ein Schlüsselprinzip in ausgereifte Software. Aber es ist nicht immer leicht zu folgen und es führt zu mehr Abstraktion in einer Anwendung das ist schwer zu verstehen. Ziemlich a Viele Entwurfsmuster versuchen dies zu erreichen Szenario: MVC, MVP, Überwachung Controller, passive Ansicht, Präsentationsmodell, Model-View-ViewModel, usw. Der Grund Für diese Vielfalt von Mustern ist das Diese Problemdomäne ist zu groß, um sie zu sein gelöst durch eine generische Lösung. Jedes UI-Framework hat jedoch ein eigenes einzigartige Eigenschaften und so sie arbeite besser mit einigen Mustern als mit anderen.
Soweit Ext betroffen ist, wäre meiner Meinung nach das Model das Model-View-View Model, aber dieses Muster ist inhärent schwer zu codieren, während die Trennung der Schlüssel-Prinzipien (State, View, Model) beibehalten wird.
Wie oben erwähnt, versucht jedes Muster, ein Problem / eine Situation zu lösen / zu kompartimentieren / zu vereinfachen, die oft zu komplex für die jeweilige Anwendung ist oder die oft versagt, wenn Sie versuchen, es zum Absoluten zu bringen. Daher sollten Sie sich überlegen, ob Sie eine "beste Anpassung" erzielen möchten, im Gegensatz zu einer absoluten Musterentwicklung bei der Mustererkennung.
Und denken Sie daran:
Der Grund Für diese Vielfalt von Mustern ist das Diese Problemdomäne ist zu groß, um sie zu sein gelöst durch eine generische Lösung.
Ich hoffe, das hilft!
2 yeas sind vergangen, seit diese Frage beantwortet wurde und Ext-JS 4 jetzt eine eingebaute Implementierung des MVC-Musters hat. Statt eines MVP (was ich bevorzuge), favorisiert es jedoch einen direkten Controller, da sich die Ansichten durch Stores an die Modelle anhängen.
Hier ist die Dokumentation auf dem Controller:
Nichtsdestoweniger kann es dazu gebracht werden, mehr wie ein überwachender Kontrolleur zu agieren. Ein schöner Aspekt von Ext-JS ist die Fähigkeit der globalen Anwendungsobjekte, wie ein Event-Bus für die Kommunikation zwischen Controllern zu arbeiten. In diesem Beitrag erfahren Sie, wie Sie das tun:
Natürlich kann die definitive Erklärung all dieser Muster hier gefunden werden:
Tags und Links language-agnostic extjs