我正在寻找在UML类图中描述以下情况的正确方法:
public class DbTransaction
{
private List<DbTask> taskList;
public void buildTaskList()
{
this.taskList = taskListFactory.buildTaskList();
}
}
public static class TaskListFactory
{
public static List<DbTask> buildTaskList()
{
List list = new List<DbTask>();
return list;
}
}
public class DbTask
{
.....
}DbTransaction与DbTask相关联,但我不确定如何正确地绘制与静态TaskList类的关系。
发布于 2016-06-06 15:14:21
正确的UML图与工厂是否存在、工厂是否是带有静态方法的静态类无关。事实上,DbTransaction的一个实例在名为taskList的类成员变量中维护一个DbTask类型实例的列表。这意味着您的UML应该显示一个DbTransaction类,该类与DbTask类具有单向关联。该单向关联应该具有一个名为taskList的关联端属性,该属性具有多重0..*。
如果愿意,还可以将DbTransaction类的依赖项绘制到TaskList类,以指示调用它。您还可以将buildTaskList()操作建模为静态特性(方法是设置isStatic=true,它将显示为类图上的下划线)。您甚至可以通过将该依赖项的客户端从DbTransaction类更改为它的buildTaskList()操作,并将该依赖关系的提供者从TaskList类更改为它的buildTaskList()操作,甚至可以做到这一点。
下面是一个给你的例子:

发布于 2016-06-06 12:43:19
我认为有更多的可能性来画这个。
1)在DbTransaction和TaskList之间创建一个链接,并调用关联使用
2)不创建链接,只需写一条便条,说明这是一个工厂,由事务使用。
它还取决于您希望显示面向对象的正确模型,或者希望显示系统的行为。
我建议使用备选案文2)。当您不仅想要显示这三个组件的行为时。
https://stackoverflow.com/questions/37657699
复制相似问题