我需要建模一个继承自基类泛型类的具体泛型类。首先,见下文:
ActivityFacade应该以这种方式实现:
public class ActivityFacade : BaseFacade<Activity, int>
{
}
如何在VS2012 UML类图中对此进行建模?查看图表,很明显ActivityFacade继承自BaseFacade,但不明显的是它传入的泛型类型参数,即:Activity
和int
。
答案 0 :(得分:13)
您需要添加新的绑定类(BaseFacade <Activity, int>
),并使用模板绑定连接器将其连接到参数化类(BaseFacade<T, TKey>
)然后从绑定类中专门化您的子类(ActivityFacade
)。
来自OMG UML规范
“模板是参数化元素...用于使用TemplateBinding关系生成其他模型元素。模板签名的模板参数指定将由绑定中的实际参数(或默认值)替换的形式参数。 “
<强>更新强>
我包含的图表是使用EA绘制的。可以在Visual Studio UML工具中对相同的概念进行建模。请参阅msdn。中的“Template types: To use a template type”部分。