2016-03-22 7 views
1

KontextWie erstellen Sie ein Klassendiagramm für eine SPA- und eine REST-API?

ich ein SPA (Single-Page-Applikation) erstellt habe, zusammen mit einem REST-API. Backbone.js wurde verwendet, um das SPA zu entwickeln, und Codeigniter wurde für die serverseitige Implementierung der REST-API verwendet.

Frage

Für eine MVC-Anwendung wir ein einziges Klassendiagramm wie gewohnt ziehen könnte. Aber wie erstellen Sie ein Klassendiagramm für ein System mit einer SPA- und einer REST-API? Erstellen Sie für jede der Anwendungen zwei separate Klassendiagramme oder für beide ein einzelnes Klassendiagramm? Wenn es ein Diagramm gibt, welche Beziehungen/Assoziationen können verwendet werden, um die SPA- und REST-API zu verbinden?

+0

Veröffentlichen Sie bitte drei Fragen mit demselben Kontext. Mehrere Fragen in einem zu stellen wird als eine sehr schlechte Praxis angesehen. – Gangnus

+0

Wenn Sie uns fragen, wie wir etwas tun, haben Sie versucht, es selbst zu tun und Probleme zu haben. Was hast du probiert? Welche Probleme haben Sie? – Gangnus

+0

Hallo @Gangnus Ich habe zwei separate Klassendiagramme für die SPA- und REST-API erstellt, weil ich keine korrekte UML-Zuordnung finden konnte, um die Verbindung zwischen den beiden Komponenten anzuzeigen. Zum Beispiel Das BackBone-Kundenmodell kommuniziert mit CustomerController im Codezeichner Da zwischen den beiden oben genannten Modellen keine direkte Beziehung besteht und die Verbindung nur über ein Netzwerkprotokoll erfolgt, dachte ich daran, sie getrennt zu lassen. –

Antwort

1

Wie Klassendiagramme für Server- und Client-

organisiert werden könnte
  1. Das gemeinsame Klassendiagramm ist sinnlos, wenn die Komponenten keine gemeinsamen Klassen haben.
  2. Es ist sehr wahrscheinlich, dass Sie einige gemeinsame Klassen haben, weil Client und Server mit den gleichen Objekten der realen Welt arbeiten und entsprechende Klassen identisch sein sollten. Und jede solche Klasse sollte nur eine Code-Realisierung haben. Da diese allgemeinen Klassen zum Domänenbereich gehören (Methoden, die für Ihr Thema üblich sind), können Sie sie alle in ein weiteres Paket trennen. Sie haben also zwei sich überschneidende Komponenten, aber drei sich nicht überschneidende Pakete. Sie können dieses primitive Paketdiagramm auch zeichnen.
  3. Wenn die Klassendiagramme der Komponenten groß sind, machen Sie immer zwei (oder mehr) davon, und markieren Sie die gemeinsamen Klassen in einer speziellen Weise. (Blau für Klassen, die mit Komponente A übereinstimmen, rot für Klassen, die mit Komponente B übereinstimmen ...).
  4. Klassendiagramme dienen nicht dazu, das Verhalten zu modellieren, z. B. den Aufruf von Komponenten und Dingen. Es wäre ein schlechter Stil. Wenn Sie dennoch über die für das Verständnis wichtigen Verhaltensdetails schreiben möchten, tun Sie dies in Kommentaren.
  5. Verwenden Sie Kommunikations- oder Sequenzdiagramme, um verhaltensmäßige Verbindungen der Komponenten zu modellieren.
+0

Ja, ein clientseitiges Modell mit einem serverseitigen Controller zu verknüpfen, scheint das Verhalten in diesem Szenario zu modellieren, das in einem Klassendiagramm falsch ist. Vielen Dank. –

Verwandte Themen