2013-03-11 16 views
9

Potrzebuję modelowania konkretnej klasy ogólnej dziedziczącej z podstawowej klasy ogólnej. Po pierwsze, patrz poniżej:Schemat klasy Visual Studio UML i modelowanie typów ogólnych

enter image description here

ActivityFacade powinny być realizowane w ten sposób:

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

Jak mogę Model ten w diagramie klasy UML VS2012? Patrząc na diagram, oczywiste jest, że ActivityFacade dziedziczy po BaseFacade, ale nie jest oczywiste, że chodzi o ogólne parametry, które przekazują, mianowicie: Activity i int.

Odpowiedz

12

Trzeba dodać nowa klasa wiązania (BaseFacade <Activity, int>) podłączyć go do komputera klasy sparametryzowane (BaseFacade<T, TKey>) z szablonu łącznika wiążącego a następnie specjalizować swoją klasę dziecka (ActivityFacade) z klasy wiązania.

enter image description here

ze specyfikacji OMG UML

„Szablon jest parametryzowane elementem ... wykorzystywane do generowania inne elementy modelu za pomocą relacji TemplateBinding. Parametry szablonów do podpisu szablonu określić formalne parametry zostaną zastąpione rzeczywistymi parametrami (lub domyślnymi) w powiązaniu. "

UPDATE:

Schemat I włączony jest zasysane za pomocą EA. Ta sama koncepcja może zostać zamodelowana w narzędziu Visual Studio UML. Zobacz sekcję "Template types: To use a template type" w msdn.

+0

-1: Czy to jest diagram UML VS2012? Wygląda bardziej jak Sparx EA. –

+1

@JohnSaunders Ważną rzeczą jest koncepcja, a nie narzędzie. Diagram w pytaniu jest błędny, ponieważ ActivityFacade nie powinien być dziedziczony z BaseFacade, ale z BaseFacade . Tutaj przedstawiam koncepcję modelowania Generics w języku UML. Jestem pewien, że gdy OP wie o TemplateBinding, może go znaleźć w visual studio. – jurgenreza

+0

Pytanie brzmiało: "Jak mogę to modelować na diagramie klasy UML VS2012". Jeśli możesz użyć VS2012 do prawidłowego modelowania, powinieneś opublikować to rozwiązanie. W przeciwnym razie twoja odpowiedź nie dotyczy tego pytania. –

Powiązane problemy