2016-05-02 8 views
2

Ich spreche über Sorge/Modul/Erweiterungen wie sie in Ruby und Swift zum Beispiel existieren.UML, wie man ein Klassenproblem/Modul/Erweiterung darstellt

Ein Ruby-Modul ist etwas, das eine Klasse enthalten kann (= die Modulfunktionen als eigene Instanzmethoden hinzufügen) oder erweitern (die Modulfunktionen als eigene Klassenmethoden hinzufügen).

Eine schnelle Erweiterung ist auch ein Add-on für die Klasse. Wenn Sie eine Funktionalität hinzufügen möchten, definieren Sie zuerst den Prototyp und implementieren ihn dann in einer Erweiterung.

(bitte korrigiert mich wenn ich falsch liege)

Wie würden Sie ein solches Ruby-Modul/Swift-Erweiterung in UML darstellen, und ihre Verbindung zur Klasse es in enthalten ist/es reicht?

+0

Ich entwerfe mit Visual Paradigm, es gibt eine Liste von "Stereotypen", die vielleicht passen könnten: 'Auxiliary',' Agent', 'Fähigkeit',' Delegate', ...? –

Antwort

4

Ich weiß auch nicht, einen Standard für diese, aber würde es so modellieren:

enter image description here

A Realize Beziehung mit einem <<import>> Klischee. Vielleicht ist die Realize im Kontext zu stark und eine einfache Dependency aber immer noch mit diesem Stereotyp wäre besser.

Nicht alles ist nativ in UML verfügbar. Aber wie in jeder Sprache können Sie, wenn Sie kein einziges Wort für eine Sache haben, Konstrukte erstellen, die die Sache beschreiben. Sie sind ziemlich frei bei der Auswahl Ihres Vokabulars. Nur Sie sollten in der Domäne konsistent sein, in der Sie eine solche Umschreibung verwenden.

Verwandte Themen