UML类图关系类型问题

UML类图关系类型问题,uml,Uml,我有一个具有以下方法的数据类: ExecuteUDIQuery(字符串查询) ExecuteSelectQuery(字符串查询) ExecuteSP(字符串anme,字符串[,]参数) 我有很多使用数据类的类。现在我想创建一个类图,但我不知道这些类与数据类之间有什么样的关系。是复合材料吗?是1:1还是 使用数据类的类的一个示例是Staff类。此类有一个方法Load(),该方法将加载一个Id为staff成员的staff对象。此方法包含传递给数据类的ExecuteSelectQuery(字符串查

我有一个具有以下方法的数据类:

  • ExecuteUDIQuery(字符串查询)
  • ExecuteSelectQuery(字符串查询)
  • ExecuteSP(字符串anme,字符串[,]参数)
我有很多使用数据类的类。现在我想创建一个类图,但我不知道这些类与数据类之间有什么样的关系。是复合材料吗?是1:1还是

使用数据类的类的一个示例是Staff类。此类有一个方法Load(),该方法将加载一个Id为staff成员的staff对象。此方法包含传递给数据类的ExecuteSelectQuery(字符串查询)方法的查询

编辑:
数据类不是静态的。然而,我有我的怀疑。我真的不知道该怎么办。关键是,它所做的唯一事情就是执行查询并返回结果。

我建议它是一种用法依赖关系


请参阅以获取简要说明。

我建议它是一种用法依赖关系


有关简要说明,请参见。

聚合、复合和1对1关系之间的区别有点模糊,有些武断

如果一个类拥有另一个类(负责生命周期),我将使用聚合(开放菱形)


我在所有其他情况下都使用1对1关系。

聚合、复合和1对1关系之间的区别有点模糊,有些随意

如果一个类拥有另一个类(负责生命周期),我将使用聚合(开放菱形)


我在所有其他情况下都使用1对1关系。

类是由使用它的类实例化的,还是方法是静态的? 如果它们是静态的,我会将其表示为非限定依赖项(从使用数据类的类指向数据类的虚线箭头)


如果使用该数据类的类创建自己的该类的私有实例,这将是一个1:1的组合(假设该数据类实例的生命周期绑定到使用它的对象)

该类是由使用它的类实例化的还是方法是静态的? 如果它们是静态的,我会将其表示为非限定依赖项(从使用数据类的类指向数据类的虚线箭头)


如果使用数据类的类创建自己的该类的私有实例,这将是1:1的组合(假设数据类实例的lifcycle绑定到使用它的对象)

我不能不评论您的总体设计,我会尝试将Load方法移出Staff类,这样该类就不会直接依赖于Data类

在贵方现有设计范围内,我建议如下:
如果staff类包含数据类的实例变量,则它是一个关联。如果数据类只是为了检索实例而实例化,则它只是给定类型的依赖项,如@toolkit所说。

我不能不评论您的总体设计,我会尝试将Load方法移出staff类,以便此类不直接依赖于数据类

在贵方现有设计范围内,我建议如下: 如果staff类包含数据类的实例变量,则它是一个关联。如果数据类只是为了检索实例而实例化,则它只是给定类型的依赖项,如@toolkit所述。

数据不足

给我们一些类的大纲或其他东西。从我所看到的,我不会把它称为数据类(它看起来更像一个数据访问器),听起来它可能是一个单例(多:1,聚合或关联),或者如果实例化,它将是一个1:1的组件。

没有足够的数据


给我们一些类的大纲或其他东西。从我所看到的,我不会把它称为数据类(它看起来更像一个数据访问器),听起来它可能是一个单例(多:1,聚合或关联),或者如果实例化,则为1:1组件。

我会询问您的类的命名。类名通常应为单数名词。示例

  • 窗口
  • 交易
数据是复数形式,无论如何,我认为它应该是数据库

同样,对于员工,我认为应该是MemberOfStaff。当然,除非是员工名单,在这种情况下,我会称之为部门、项目或部门,无论您的问题领域如何


你会发现给类起个好名字是非常困难的,但这是值得努力的。

我会质疑你的类的命名。类名通常应该是单数名词。示例

  • 窗口
  • 交易
数据是复数形式,无论如何,我认为它应该是数据库

同样,对于员工,我认为应该是MemberOfStaff。当然,除非是员工名单,在这种情况下,我会称之为部门、项目或部门,无论您的问题领域如何

你会发现给班级起个好名字是非常困难的,但这是值得努力的

现在我想创建一个类图,但我不知道这些类与数据类之间有什么样的关系

我们也没有——您只描述了数据类,没有说明员工如何获取其使用的数据

如果Staff持有数据类的一个或多个实例,则Staff和数据之间存在关联,或者Staff具有data类型的属性(如果数据具有值语义)

如果数据实例被多个人员实例引用,并且其生命周期依赖于