Ich versuche, die "Haupt" -Klasse (n) einer Rich Desktop-Anwendung auf der Basis von NetBeans Platform 7 zu entwerfen. Diese Anwendung verwendet HTTP-Dienste und empfängt über ein "Push-System" über TCP Nachrichten.
- Wir sind 3 Entwickler und wollen Module parallel entwickeln
- Die Anwendung wird geschichtet (Daten, Geschäft, Präsentation)
- Wir werden das Präsentationsmodell verwenden , um die Verantwortlichkeiten zu trennen
- Einige granulare Daten (z. B. eine Bean-Person) werden von mehreren Bildschirmen gemeinsam genutzt (und möglicherweise gleichzeitig auf mehreren Bildschirmen angezeigt).
- ...
Wir können einzelne Bildschirme entwickeln, wissen jedoch nicht genau, wie die gesamte Anwendung organisiert und die einzelnen Modulinhalte definiert werden sollen.
- Haben Sie also Ratschläge (ein Muster / eine Best Practice / ein Buch / eine Beispiel-App), um Interaktionen innerhalb der gesamten Anwendung zu koordinieren / zu verwalten?
- Irgendwelche Ratschläge zum Definieren von Modulinhalten?
Vielen Dank!
Kleines Beispiel, um zu veranschaulichen, was ich erstellen möchte: Eine Foo User Management-Anwendung
- Anwendung starten
- Links [Explorer] haben wir eine Liste von Plattformen (Liste wird in einer lokalen Datei gespeichert)
- Oben haben wir eine Schaltfläche zum Hinzufügen einer neuen Plattform (auch mit Rechtsklick verfügbar).
- Durch Doppelklicken auf eine Plattform ruft die App einen HTTP-Dienst auf, um eine vollständige Liste der Benutzer abzurufen. Diese Liste wird im [Editor] (in einer JTable) angezeigt.
- Ein Hintergrundprozess wird gestartet: Über eine TCP-Verbindung erhalten wir Nachrichten
- Es ist möglich, einen neuen Benutzer über eine Schaltfläche in einer Symbolleiste hinzuzufügen
Wenn die Anwendung auf einem anderen PC gestartet wird und der Benutzer mit derselben Plattform verbunden ist, wird seine Benutzerliste dynamisch aktualisiert (Hinzufügen / Entfernen / Status: {offline / online}) (dank Nachrichten).
In Zukunft wird ein Chat-Modul bereitgestellt.
Meine Frage ist (mit anderen Worten): Irgendwelche Ratschläge / Best Practices, um über den Inhalt jedes Moduls zu entscheiden? Wenn PM (Präsentationsmodell) eine gute Möglichkeit ist, Ansicht / Geschäft und Daten zu trennen und Bildschirme zu erstellen, wie lassen sich mehrere Bildschirme basierend auf PM am besten verknüpfen? Stellen Sie sich vor, wir entwickeln das Chat-Modul. Wie fügt man dem Kontextmenü, das mit einem Rechtsklick auf Benutzerliste verfügbar ist, einen Eintrag "Diskutieren mit ..." hinzu?