Visual Studio UML类图和通用类型建模

Mat*_*att 9 uml modeling visual-studio

我需要建模一个继承自基类泛型类的具体泛型类.首先,见下文:

在此输入图像描述

ActivityFacade应该以这种方式实现:

public class ActivityFacade : BaseFacade<Activity, int>
{
}
Run Code Online (Sandbox Code Playgroud)

如何在VS2012 UML类图中对此进行建模?查看图表,很明显ActivityFacade继承自BaseFacade,但不明显的是它传入的泛型类型参数,即:Activityint.

jur*_*eza 13

您需要添加一个新的绑定类(BaseFacade <Activity, int>)BaseFacade<T, TKey>使用模板绑定连接器将它连接到参数化的class(),然后ActivityFacade从绑定类中专门化您的子类().

在此输入图像描述

来自OMG UML规范

"模板是一个参数化元素...用于使用TemplateBinding关系生成其他模型元素.模板签名的模板参数指定将由绑定中的实际参数(或默认值)替换的形式参数."

更新:

我包含的图表是使用EA绘制的.可以在Visual Studio UML工具中建模相同的概念.请参阅msdn中的" 模板类型:使用模板类型 "部分.

  • @JohnSaunders 重要的是概念而不是工具。问题中的图是错误的,因为ActivityFacade不应继承自BaseFacade,而是继承自BaseFacade&lt;Activity, int&gt;。在这里,我展示了在 UML 中建模泛型的概念。我相信一旦 OP 了解 TemplateBinding,他们就可以在 Visual Studio 中找到它。 (2认同)