Wie stellen Javascript-Objekt erstellen mit einem UML-Klassendiagramm?

Ich habe einige Schwierigkeiten die Zeichnung eine genaue UML-Klassendiagramm für meine JavaScript-APP. Ich habe gelesen, mehrere UML-Referenz-Ressourcen, aber immer noch nicht finden, eine Antwort für meine situation, da alle Beispiele basieren auf der klassischen erbschaft-und Klasse-Modell von C++/Java.

Möchte ich darstellen, die Erstellung einer benutzerdefinierten JavaScript-Objekt mit einem Konstruktor-Funktion und die Erweiterung der Prototyp-Objekt, das ganz anders ist, als C++/Java-Klasse, die Instanziierung.

Wie würden Sie repräsentieren diese vereinfachte version meines Codes mit einem UML-Klassendiagramm?

var Book = function(title, author) {
    this.title = title || 'No title specified';
    this.author = author || 'No author specified';
}

Book.prototype.isDigital = false;

Book.prototype.titleDisplay = function() {
    alert(this.title);
};

var theHobbit = new Book ("The Hobbit", "J.R.R. Tolkien");

HINWEIS:
Ich bin vor allem darauf abzielen, zu zeigen, in der Abbildung wie genau alle beteiligten Objekte (Buch, Buch.Prototyp und theHobbit) miteinander verbunden sind und um zu zeigen, welche Parameter sind in der Prototyp-vs diejenigen definiert, die in den Konstruktor.
Ich weiß, ich könnte einfach so tun Buch ist ein "Klassik" - Klasse, und ziehen Sie es, wie es war Java, vereinfacht die bestimmte JavaScript-Vererbung Mechanismus, aber ich bin mir sicher, dass die UML ist flexibel genug, um zu beschreiben, genau mein Fall.

Ist es vielleicht eine UML-guide vor allem für JavaScript-Projekte?

  • Ich glaube nicht, dass es ist und wären überrascht zu hören, nichts darüber. Wenn ich du wäre würde ich "behaupten" - Buch ist eine reguläre Klasse, mit all diesen öffentlichen Eigenschaften (im Gegensatz zu den privaten Eigenschaften, aber Sie haben nicht alle). Auch die Schöpfung repräsentiert werden würde, in der gleichen Weise in Sequenzdiagrammen. Ich glaube nicht, dass UML sollte verschiedene welche Art von Objekt-Modell eine Sprache hat.
Schreibe einen Kommentar