【问题标题】:Designing the domain modal class设计领域模态类
【发布时间】:2015-02-11 01:30:36
【问题描述】:

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

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
  ...
}

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

1.数学C1 15

2.数学C2 15

3.数学C3 70

总分应该等于 100。

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

【问题讨论】:

    标签: grails grails-domain-class grails-validation


    【解决方案1】:

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

    【讨论】:

    • maxmarsk 值将根据组件而改变 c1 maxMakrs,c2 maxmarks .. 保存组件详细信息我参加了 courseComponent...
    • 添加组件时计算验证。
    猜你喜欢
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多