【发布时间】:2013-12-10 06:14:31
【问题描述】:
这是在 UML 类图中表示以下代码的正确方法吗?
代码:
public class CustomerRepository
: EntityFrameworkRepository<Customer>, ICustomerRepository
{ }
UML:
【问题讨论】:
标签: generics inheritance uml class-diagram
这是在 UML 类图中表示以下代码的正确方法吗?
代码:
public class CustomerRepository
: EntityFrameworkRepository<Customer>, ICustomerRepository
{ }
UML:
【问题讨论】:
标签: generics inheritance uml class-diagram
编辑:
发布后发现第一个答案不正确。 UML spec 说(第 7.3.4 节):
绑定元素与其他元素具有相同的图形符号 那样。 TemplateBinding 显示为带有尾部的虚线箭头 在绑定元素和模板上的箭头和关键字 «绑定»。绑定信息可以显示为逗号分隔 模板参数替换列表
我尝试在 MagicDraw 中创建一个示例:
由于某种原因,它不允许我输入绑定子句(虚线箭头上尖括号的内容):它应该是<RepositoryType -> Customer>。此外,RepositoryType 参数不应为字符串类型(再次工具)。
关键点是:参数绑定是在绑定关系上指定的,而不是在参数化类中。这意味着您可以拥有多个不同类型的绑定。
hth - 为混乱道歉。
【讨论】:
EntityFrameworkRepository<T>的类,比如CustomerRepository和OrderRepository,那么你需要有两个独立的EntityFrameworkRepository基类。