2013-03-11 67 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