0

我有一个关于验证以下域类的域类设计问题:

Class Course {
  String name // computers,maths,economics,zoology etc...
}

class Component{
  String name //ex: C1,C2,C3

  boolean type // 0 means internal , 1 means external 
}

Class CourseComponent{
  Course course
  Component component 
  Integer MaxMarks
  ...
}

CourseComponent客户要求在为特定Course..创建 s 时,总数maxMarks应等于百。例如:对于数学课程,组件分布如

1.数学C1 15

2.数学C2 15

3.数学C3 70

总分应等于 100。

我将如何编写一个检查多条记录的约束,或者我需要如何更改我的域类?

4

1 回答 1

0

如果我正确理解了要求,那么 CourseComponent 应该包含一个 Component 的集合。在这种情况下,我不会将 maxMarks 属性添加到 CourseComponent 类,因为它可以很容易地计算并且可以通过访问器方法获得。因此,我会将这个属性移动到 Component 类中,用于存储给定课程(或 CourseComponent)的单个组件的数量。接下来,在将组件实例添加到 CourseComponent 时,我将添加对总 maxMarks 的验证。但另一个问题是你真的需要 CourseComponent 类吗?您可能有一个 Course 类,该类将相关的 Component 实例作为集合属性保存。

于 2014-12-12T11:00:40.180 回答