Frage

Nachdem ich eine Weile gelesen und Google IO -Videos angesehen habe, bin ich immer noch verwirrt darüber, wie sich MVP auf Aktivität und Orte bezieht.

Ich habe vor einiger Zeit einen Thread gefunden ->GWT 2,2 MVP gegen GWT 2.1 Aktivitätenplätze

"MVP-Architektur. MVP ist das Konzept, und eine der Möglichkeiten, dies zu tun, ist der Rahmen für die Orte-Aktivitäten."

Ich höre auch "Ein Moderator ist analog zu einer Aktivität"

Wir können "Aktivitäten und Orte ohne MVP" geben

Wir können "Aktivität und Orte mit MVP" mischen

"MVP ist nichts anderes als wie wir unser Projekt organisieren, damit wir den Code leicht testen und organisieren können."

Dann versuche ich solche Dinge herauszufinden -> http://code.google.com/p/gwt-platform/

Ich bin ziemlich verwirrt. Ich möchte, dass ein One -Stop -Thread die ganze Verwirrung beendet.

War es hilfreich?

Lösung

TL; DR: Orte und Aktivitäten hängen in keiner Weise mit MVP zusammen.

Bei Places geht es darum, in Ihre App zu navigieren: Sie gehen von einem Ort zum anderen. Und Aktivitäten bauen sich auf dem neuesten Stand der Orte, um das Binden von "Was Sie sehen" mit "Where You Are" zu verbinden:

  • Wenn ich dafür auf der Homepage bin, zeigt der Hauptteil die Liste der Fragen in allen Themen, die oben auf der rechten Seite zeigt meine Lieblings -Tags und hilft mir, Tag -Filter einzurichten. Unten finden Sie ein Hinzufügen und unter dem Hinzufügen ist eine Liste der neuesten Tags, dann eine Liste der jüngsten Abzeichen.
  • Auf dieser Frageseite zeigt der Hauptteil die Frage und ihre Antworten. Die Spitze der rechten Seite wird infos auf den Tags der Frage ersetzt, gefolgt von einem Hinzufügen, verknüpften Fragen und dann zu verwandten Fragen.

Jeder dieser "Teile" (Region) wird von verwaltet ActivityManagers, die hören PlaceChangeEvents und fragen Sie nach ihrer damit verbundenen ActivityMapper die Activity in dieser Region zeigen.

Es geht nur um Navigation.

Es gibt keine Beziehung zu MVP (trotz der offiziellen Dokumente). Wenn Sie MVP jedoch verwenden, werden Sie wahrscheinlich Sie Aktivitäten "Moderatoren", um eine "Ansicht" zu kontrollieren AcceptsOneWidget in Argument an seine erhalten start Methode). Dies ist jedoch keine Regel, und zum Beispiel ist Google experimentieren, in der MobileWebapp -Probe mit Entkopplungsaktivitäten und Moderatoren.

Andere Tipps

MVP steht für Modell, Aussicht, Moderator, Es ist ein Codierungsmuster. Es ist nur eine Entwicklung von der MVC (Modell, Aussicht, Regler) Muster. Sehen MVC Wikipedia Page.

Der Unterschied zwischen MVP und MVC besteht darin, dass in MVP das Modell und die Ansicht nicht kennen. In MVP sollte Ihre Ansicht so dumm wie möglich sein. Alle Interaktionen werden vom Moderator behandelt. Es ist nur eine Möglichkeit, Ihren Code richtig zu organisieren.

Einige Leute haben Frameworks erstellt, um die Arbeit zu reduzieren, die Sie für die Organisation Ihres Codes auf diese Weise organisieren können. Werfen Sie einen Blick auf verschiedene MVPImplementationen. Es ist leicht, sie im Web zu finden.

MVP erleichtert Ihr Code leichter zu testen, da Sie Ihre Ansicht einfach durch eine andere Implementierung (normalerweise ein Mock) ersetzen können, das das Verhalten oder Ihre Ansicht fälscht. Daher müssen Sie Ihre Tests nicht mit einer Browserumgebung ausführen (GWT -Ansichten sind HTML -Ansichten). Ihre Tests laufen also schneller.

Google -Dokumentation besagt:

Mit dem Rahmen für Aktivitäten und Orte können Sie in Ihrer Anwendung lesezeichenbare URLs erstellen.

Aktivitäten und Orte sind also viel mehr als nur ein MVP -Rahmen. Trotzdem ein Aktivität ist ein Moderator.

public interface Activity {

  String mayStop();

  void onCancel();

  void onStop();

  void start(AcceptsOneWidget panel, EventBus eventBus);
}

Sie können die Aktivitätsschnittstelle für Ihre Moderatoren ohne Verwendung verwenden Setzt und andere Objekte von Google. In diesem Fall sollten Sie jedoch wahrscheinlich einen eigenen Aktivitätsmanager codieren, der dafür verantwortlich ist, Ihre Aktivitäten zu starten und zu stoppen. In Start and Stop möchten Sie wahrscheinlich Ihre Ansicht erstellen, dem DOM hinzufügen, Ihre Event -Handler usw. registrieren und Sie all dies zerstören möchten, wenn Sie aufhören.

In einigen anderen MVP -Implementierungen finden Sie Bind () und unbind () Methoden, die die gleiche Rolle spielen.

Die Kraft der Aktivität platziert die Implementierung von Google aus allen Objekten hinter dem Ort Objekt, das Ihre Aktivität startet oder stoppt und die die Geschichte behandelt.

Das Ort Wie andere oben erwähnte Personen nur eine Darstellung Ihrer URL sind.

Es gibt viele Objekte, die an der Implementierung von Aktivitäten Place von Google beteiligt sind. Hier ist ein Schema, das Ihnen hilft, zu verstehen. Sie werden sehen, dass die Aktivität nur ein kleiner Teil der Ganzen ist. In diesem Artikel finden Sie einige weitere Details in meinem Blog

enter image description here

Aktivitäten sind Moderatoren. Orte sind nur ein Wrapper für Geschichts -Token.

Die Verwirrung begann mit Google IO Video, wo das MVP GWT -Konzept eingeführt wurde, es wurde jedoch keine Implementierung angegeben. Also fingen die Leute an, ihre eigenen zu rollen. Dann schrieb Google die 2.1 -Dokumente, in denen sie das Konzept detailliert beschrieben haben und nur einen Beispielcode zum Download gegeben haben. Später in 2.2 führten sie ihre vollständige Umsetzung, Aktivitäten et al.

Wenn Sie also die MVP -Route gehen möchten, müssen Sie Ihre Implementierung auswählen. Aktivitäten wären wahrscheinlich am besten, da es das offizielle ist.

Solange Sie sie als zwei Entwicklungsmuster betrachten, ist es ziemlich einfach, sie getrennt zu halten. MVP ist ein Muster für die Trennung von Bedenken, Aktivitäten und Orten ist ein Instrument für URL und Geschichtsmanagement.

Hier ist ein guter Artikel, um Verwirrung zu beseitigen. MVP, Aktivitäten und Verwirrung durchsetzt

Es gibt zwei unabhängige Dimensionsdesignmuster - kein Muster - MVP

Navigation und Bildschirmquelle - keine Navigation - Aktivitäten und Orte

Möglicherweise haben Sie eine Anwendung, die einer der folgenden Folgen folgen kann

  • Kein MVP, keine Aktivitäten und Orte
  • Nur MVP
  • Nur Aktivitäten und Orte
  • MVP mit Aktivitäten und Orten
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top