Frage Visual Studio UML Klassendiagramm & Modellierung generischer Typen


Ich muss eine konkrete generische Klasse modellieren, die von einer generischen Basisklasse erbt. Zuerst, siehe unten:

enter image description here

ActivityFacade sollte folgendermaßen implementiert werden:

public class ActivityFacade : BaseFacade<Activity, int>
{
}

Wie kann ich dies in einem VS2012-UML-Klassendiagramm modellieren? Betrachtet man das Diagramm, ist es offensichtlich, dass ActivityFacade von BaseFacade erbt, aber was nicht offensichtlich ist, sind die generischen Typparameter, die es übergibt, nämlich: Activity und int.


9
2018-03-11 03:55


Ursprung


Antworten:


Sie müssen hinzufügen eine neue Bindungsklasse (BaseFacade <Activity, int>) Verbinden Sie es mit Ihrer parametrisierten Klasse (BaseFacade<T, TKey>) mit einem Vorlagen-Bindungs-Connector und spezialisiere dann deine Kindklasse (ActivityFacade) aus der Bindungsklasse.

enter image description here

Aus der OMG UML-Spezifikation

"Eine Vorlage ist ein parametrisiertes Element ..., das zum Generieren anderer Modellelemente mithilfe von TemplateBinding-Beziehungen verwendet wird. Die Vorlagenparameter für die Vorlagensignatur geben die formalen Parameter an, die in einer Bindung durch tatsächliche Parameter (oder den Standardwert) ersetzt werden."

AKTUALISIEREN:

Das Diagramm, das ich eingefügt habe, ist mit EA gezeichnet. Dasselbe Konzept kann in Visual Studio UML-Tool modelliert werden. Siehe den Abschnitt "Vorlagentypen: Um einen Vorlagentyp zu verwenden"in msdn.


12
2018-03-11 23:48