有关如何组织方法的最佳实践吗?

时间:2016-08-01 18:36:34

标签: java methods

这可能是一个理论上的问题,让我试着用一个例子来解释它:

  • 我有一个POJO Cow和一个POJO Calving
  • 每个Cow都有一个Calving s
  • 列表

在代码中检查每个Calving需要至少7个月的窗口,这意味着,如果添加了新的Calving

  • 必须验证新添加的产品之前的产犊是之前至少7个月新添加的产品;
  • 如果在新添加的产品之后有产犊,则新添加产品后至少需要7个月。

现在,我想知道在哪里放置方法验证新添加的产犊最佳做法。我有两种可能的解决方案:

选项1:

我在Cow课程中制作了以下方法:

  • private Calving getPreviousCalving(Date calvingDate)
  • private Calving getNextCalving(Date calvingDate)
  • public boolean isCalvingIn7MonthWindow(Date dateToCheck)

选项2:

我在Cow课程中制作了以下方法:

  • public Calving getPreviousCalving(Date calvingDate)
  • public Calving getNextCalving(Date calvingDate)

这是我的小牛课程中的一个:

  • public boolean isIn7MonthWindow(Calving calvingBefore, Calving calvingAfter, Date dateToCheck)

我怀疑的原因是isIn7MonthWindow方法提供了有关潜在的新产犊(选项2)的信息,而不是关于奶牛的信息,所以逻辑上它应该在产犊类中没有?但是,选项1更清晰,更容易访问所有必要的数据来进行检查(因为Cow有一个Calving列表)。

我希望这不是太广泛而且不是基于意见的。有什么想法吗?

0 个答案:

没有答案