Ich habe ein sofortiges Objekt in OCaml erstellt.UML für OCaml sofortige Objekte
Da das Objekt keinen Namen hat (ist es anonym?), Wie kann es in UML korrekt dargestellt werden?
Danke.
Ich habe ein sofortiges Objekt in OCaml erstellt.UML für OCaml sofortige Objekte
Da das Objekt keinen Namen hat (ist es anonym?), Wie kann es in UML korrekt dargestellt werden?
Danke.
Sie könnten ihm einen Nonce-Namen oder einen anderen Formelwert geben. "Richtig" bedeutet in diesem Zusammenhang eigentlich nur etwas, das klar sein wird. Es gibt keine "richtige Antwort", die von der Internationalen UML-Normungsstelle oder so weiter gegeben wurde.
Wenn Sie eine konkrete Antwort wollen, warum es nicht wie Anonymous_foo_mungler
etwas nennen, wo „foo_mungler
“ mit dem beschreibenden Namen ersetzt man ihm gegeben hätte, wenn es nicht anonym ist.
Hier ist was ich gefunden habe. Ich würde nur das Bild unten folgen (wenn Sie können), aber zuerst etwas Diskussion. Etwas in UML zu benennen heißt nicht, dass es in der Implementierung nicht anonym sein darf. Ich kämpfe mehr damit, es "innerhalb" der anderen Klasse als schwierig zu zeigen, also die Paket/Komponenten-Einschlusslinie, die unten verwendet wird. Sie können auch eine Instanziierungsverbindung verwenden, um anzuzeigen, wonach Sie suchen. Sie können auch Komponenten verwenden, die eine Aufnahme ermöglichen. Am Ende bin ich jedoch zerrissen, warum man eine anonyme Klasse modellieren sollte, da sie nicht Teil der Struktur ist, indem man sie nie außerhalb der Klasse (ALLGEMEIN) referenziert, sondern eher das Verhalten. Deshalb ermöglichen Instanzen und Eigenschaften anonyme Elemente. Wenn Sie mit der Modellierung von LISP usw. beginnen, wird diese Frage sehr spaßig.
Up-to-date für UML 2.0: Anonymous class example http://www.informit.com/content/images/chap3_0131428489/elementLinks/03fig22.gif
Hinweis dass es Abbildung 3.22 ist und dass der Autor sagt, "Stereotyp" die nicht korrekt ist, da sie nicht Teil der Sprache ist es ist also ein Schlüsselwort, das heißt kein Teil des formalen Modells, keine alte Zeichenkette. Nicht alle Werkzeuge unterstützen die Notation, aber RSA/RSM tut dies zu meiner Überraschung und verwendet etwas, das der Notation nahekommt.
Source Page - http://www.informit.com/articles/article.aspx?p=336264&seqNum=3
Aus der UML-Spezifikation selbst:
Für Eigenschaften - Eine Eigenschaft Symbol kann nur einen einzigen Namen enthält, gezeigt werden (ohne Doppelpunkt) in seinem Namen String. Dies impliziert die Definition einer anonym benannten Klasse, die im Namespace der enthaltenden Klasse geschachtelt ist. Der Teil hat diese anonyme Klasse als seinen Typ. Jedes Auftreten einer anonymen Klasse unterscheidet sich von jedem anderen Ereignis. Die anonym definierte Klasse hat die Eigenschaften, die mit dem Teilesymbol angegeben sind. Es ist erlaubt, Bereiche zu zeigen, die Attribute und Operationen der anonym benannten Klasse definieren.
Für Instanzen - (Namen sind für Instanzen optional) Die Standardnotation für eine anonyme Instanzspezifikation eines unbenannten Klassifikators ist ein unterstrichener Doppelpunkt (':'). Wenn eine Instanzspezifikation eine Wertspezifikation als Spezifikation hat, wird die Wertspezifikation entweder nach einem Vorzeichen ("=") nach dem Namen oder ohne Gleichheitszeichen unter dem Namen angezeigt. Wenn die Instanzspezifikation mit einer umschließenden Form (z. B. einem Rechteck) angezeigt wird, die den Namen enthält, wird die Wertspezifikation in der umschließenden Form angezeigt.
vereinbart. Meine Erfahrung mit UML war ad hoc, aber ich kann mir auch nichts Nützliches vorstellen, um Ihre Frage zu beantworten.Es geht darum, das Programm zu dokumentieren, und hat keinen Einfluss auf das Programm selbst. Möglicherweise das Modul, das es befindet, und einen beschreibenden Namen, der in den Kommentaren ist? – nlucaroni