简体   繁体   中英

Visual Studio UML Class Diagram & Modeling of Generic Types

I need to model a concrete generic class inheriting from a base generic class. First, see below:

在此输入图像描述

ActivityFacade should be implemented this way:

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

How can I model this in a VS2012 UML class diagram? Looking at the diagram, it is obvious that ActivityFacade inherits from BaseFacade, but what's not obvious is the generic type parameters that it is passing in, namely: Activity and int .

You need to add a new binding class ( BaseFacade <Activity, int> ) connect it to your parameterized class ( BaseFacade<T, TKey> ) with a template binding connector and then specialize your child class ( ActivityFacade ) from the binding class.

在此输入图像描述

From the OMG UML specification

"A template is a parameterized element ... used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding."

UPDATE:

The diagram I included is drawn using EA. The same concept can be modeled in Visual Studio UML tool. See the section " Template types: To use a template type " in msdn.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM