GORM:设计域类

时间:2014-05-05 11:52:44

标签: grails gorm

我有一个问题:

我有一个域名:LoanAccount。我们有不同的贷款产品,但他们对如何计算利息只是不同。

例如: 1.定期贷款使用年金利率公式计算利率 2.车辆贷款使用固定利率公式计算利率 3.临时贷款用另一个公式计算利率(我不知道那是什么)。

我们也可以每年更改规则......我们也使用不同的公式......

我的问题: 我应该把所有的逻辑公式都放在服务中吗? 我应该在不同的域类中进行每笔贷款吗? 或者我应该创建1个域类,但它有不同的利率计算方法?

任何例子都会很好:) 提前谢谢!

1 个答案:

答案 0 :(得分:1)

我的建议是将兴趣计算逻辑与域对象分开。 对域对象进行硬连接并计算其利息可能会导致您遇到麻烦。

  • 更改现有帐户类型的利息计算类型(可能是预期的业务请求)会更复杂。
  • 创建新帐户类型后,您可以轻松使用已为其实施的所有计算方法
  • 利息计算算法可能会在未来增加复杂性,并且可能需要不属于Account域对象的属性,如某些业务常量,事务列表等。
  • Grails(因为Spring)自然支持在服务(声明式事务等)中而不是在域对象中使用业务逻辑。与框架一起使用时,你总是会有更少的痛苦。