我需要对继承自基本泛型类的具体泛型类进行建模。首先,请参见以下内容:



ActivityFacade应该以这种方式实现:

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


如何在VS2012 UML类图中对此建模?从图中可以明显看出,ActivityFacade继承自BaseFacade,但传递的通用类型参数(Activityint)并不明显。

最佳答案

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



根据OMG UML规范

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

更新:

我包括的图是使用EA绘制的。可以在Visual Studio UML工具中对相同的概念进行建模。请参阅msdn中的“ Template types: To use a template type”部分。

07-26 02:12