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