Wie Sie repräsentieren eine C# - Eigenschaft in der UML?
Nicht ganz ein Attribut, nicht ganz eine Methode. Stereotypen? <<get>>
<<set>>
?
Ich bin retro-Modellierung eines bestehenden Systems, so muss ich ganz klar reflektieren, dass dies nicht das gleiche wie ein readonly-Feld oder ein Methoden-pair-Mädchen (unabhängig davon, wie die IL sagt), so dass ich denke, ich werde gehen mit dem Stereotyp, aber ich werde akzeptieren, die Sprache unabhängig get_ set_ als Allgemeine Lösung. Vielen Dank an alle für die geistige Gesundheit testen.
InformationsquelleAutor annakata | 2009-01-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigenschaften sind nur eine bequeme Art des Schreibens
get_MyValue()
undset_MyValue(value)
so dass die Zuordnung eher als die normale Methode aufrufen (mit Klammern).Was Sie sind, Zugriff auf eigentlich ein .NETTO-Eigentum, C# hat seine eigene syntax für den Zugriff auf diese. Da unter der Haut der realen
get_
undset_
Methoden erstellt werden, so könnten Sie ganz einfach zeigen, diese Methoden (machen Sie Ihre UML-Sprache unabhängig - z.B. machen Sie Ihre UML gleichermaßen anwendbar auf einen VB.NET Entwickler)... oder wie Sie vorgeschlagen haben, stellen Sie Ihr eigenes Klischee!
InformationsquelleAutor Ray Hayes
Normalerweise bereite ich meinen UML-Diagrammen in Visio (ich weiß, ich weiß; aber was sind ya gonna do?).
Wenn das grafisch darstellen Eigenschaften, die Sie am Ende als so:
«Eigenschaft» wird ein benutzerdefiniertes Stereotyp abgeleitet von «operator».
Hässlich, ich weiß. Aber es funktioniert, und es ist klar. Ich mache Konstruktoren der gleichen Weise.
Dieses nicht zeigen, wenn Ihr die
get method
oder dieset method
oder beide festgelegt werden. Oder Bin ich etwas fehlt?Es ist schon lange her, seit ich modellierten Eigenschaften auf diese Weise. Jedoch, wenn ich Ihnen auf diesem Weg, <<Eigenschaft>> angegeben-Lesen-schreiben-Eigenschaft (sowohl die get und set). Eine zusätzliche Stereotyp, wie <<readonly-Eigenschaft>>, deutet auf eine Eigenschaft mit nur einem getter. Ich habe noch nie eine Verwendung für eine Immobilie mit nur einem setter.
Hofer, vielen Dank, bin ein junger Mann, der gerade lernen UML 🙁
InformationsquelleAutor Mike Hofer
Darstellen können Eigenschaften der gleichen Weise wie Felder. Geben Sie zusätzliche Informationen wie readonly oder writeonly können Sie
+Name:string {READONLY}
InformationsquelleAutor Hemanshu Bhojak
Ich würde Sie als öffentliche Felder in der UML, weil das, was Sie konzeptionell. UML ist keine syntax für Ihre Programmierung Sprache (obwohl einige tool-Anbieter behaupten, dass es ist).
Details, wie Ihre Implementierung der Sprache behandelt die Eigenschaften nicht zeigen zu müssen in der UML. Dies würde die völlig zu besiegen den Punkt der Verwendung von UML als ein tool, dass Zusammenfassungen Weg der Umsetzung im Detail und ermöglicht Ihnen die Fokussierung auf das design.
Wenn die Eigenschaft ist auf eine Besondere Art und Weise, wie, die es abgeleitet wird oder schreibgeschützt ist, können Sie markieren, mit einem Stereotyp-annotation.
InformationsquelleAutor VoidPointer
Habe ich mit
<<get>>
und<<set>>
Stereotypen neben Namen der Eigenschaft, so dass Sie Aussehen wie Felder, erlaubt aber eine Differenzierung der zugriffsmodifizierer für dasget
oderset
:Alternativ, wenn Sie nicht wollen, mehr als ein Vorkommnis einer Eigenschaft, das könnte so gut funktionieren:
Und Krempel zu reduzieren, wenn die
get
undset
haben die gleichen zugriffsmodifizierer:Diese klar kommuniziert, ob eine Eigenschaft über eine get-oder set, und wenn es readonly ist (durch keine
<<set>>
bestehenden in der Klasse Diagramm). Also im Grunde, was Sie gesagt haben in Ihrer Frage.Während die Eigenschaften von syntaktischen Zucker für eine getter-und setter-Methoden, Sie sollen fühlen, wie Felder, und ich glaube, dass das UML-Diagramm sollte dieser Tatsache Rechnung tragen und gleichzeitig auch kommunizieren, was öffentlich ist und was privat ist, und auch, ob ein setter vorhanden sind oder nicht.
InformationsquelleAutor Greg Burghardt
Eh, ich werfen Sie es einfach als eine Methode in meinem pseudo-UML-Diagramme. 🙂
InformationsquelleAutor Rob
Eigenschaften sind Get/Set Methoden, eingewickelt in einige schönere syntax. Nur setzen Sie Sie in als Methoden, oder erstellen Sie einige neue UML-syntax für Sie 🙂
InformationsquelleAutor workmad3
Das problem mit der Darstellung einer Immobilie als ein einzelnes Feld ist, dass für C# mit dem framework 2.0, und über die get-und set-können Sie unterschiedliche Zugriffs-Modifikatoren.
InformationsquelleAutor anon
Ich Stimme mit workmad3. Eigenschaften sind nur ein trick, eine get/set-Methoden ein wenig bi schöner. Aus diesem Grund denke ich, es sollte gespeichert werden als zwei verschiedene Methoden. Was ist mehr in diesem Fall, Sie können unterschiedliche Zugriffsrechte für Sie
InformationsquelleAutor Szymon Sasin
Ich verwenden, wie dies
Gut, Kommentare sind willkommen, sofern diese einen rechten Weg !!
InformationsquelleAutor Kunal S
In Visio erstellen Sie eine <<readonly>> Stereotyp für Attribut und verwenden Sie einfach dieses Stereotyp für den einzelnen nur-lese-Attribute. Gleiche für nur-schreiben. Es werde Ihnen zeigen, eine gute notation:
Gibt es nichts hässliches über Sie. Die standard-Visio ist Veränderbar option ist viel hässlicher, als es hat keine visuelle Repräsentation, und Sie wirklich brauchen, öffnen Sie die Eigenschaften für jedes Attribut in Ordnung, um es zu sehen, keine Chance, es zu sehen auf dem gedruckten Diagramm.
InformationsquelleAutor Alexander
Könnten Sie einen Stereotyp als "Eigenschaft"(zB. << Eigenschaft >> PropertyName) für ein Feld in Ihrem Klassendiagramm. Stereotype dienen zur Erweiterung der UML-notation.
InformationsquelleAutor Jay Harry