2013-03-11 63 views
9

我需要建模一个从基本泛型类继承的具体泛型类。首先,见下图:Visual Studio UML类图和泛型类型的建模

enter image description here

ActivityFacade应该以这种方式实现:

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

我怎样才能在VS2012 UML类图模型呢?从图中可以看出,ActivityFacade显然是从BaseFacade继承而来的,但它传入的泛型类型参数并不明显,即:Activityint

回答

12

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

enter image description here

从OMG UML规范

“模板是用来使用TemplateBinding关系产生其他模型元素参数化的元素...。的模板签名模板参数指定的正式参数将被绑定中的实际参数(或默认值)替换。“

UPDATE:

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

+0

-1:这是VS2012 UML图吗?看起来更像Sparx EA。 – 2013-03-12 00:11:04

+1

@JohnSaunders重要的是概念,而不是工具。问题中的图是错误的,因为ActivityFacade不应该从BaseFacade继承,而应该从BaseFacade 继承。这里我展示了UML中的泛型建模概念。我相信一旦OP知道TemplateBinding,他们就可以在Visual Studio中找到它。 – jurgenreza 2013-03-12 00:18:43

+0

问题是,“我如何在VS2012 UML类图中对此进行建模”。如果您可以使用VS2012对此进行正确建模,那么您应该发布该解决方案。否则,你的答案与这个问题无关。 – 2013-03-12 00:25:26