扩展Java类还是提供静态帮助类?

Sam*_*uel 4 java static design-patterns

例如:我必须在我的项目中使用日期类,但我需要简单的方法来向Date添加分钟等.我应该:

  • 用类似的方法创建一个静态类 public static Date addToDate(Date date, int timeToAdd)
  • 创建一个扩展Date的类MyDate并提供类似的方法 public Date add(int duration)

    当我研究这个问题时,我对一般情况下更好的方法感兴趣,特别是关于标准库中的类.

  • gd1*_*gd1 5

    我会选择第一种方法.我讨厌一些OOP退化的事情之一是,有时无用的类会激增 - 通常它是一个完美主义的奇思妙想,它带来了奇怪类的升级,其中有两种方法而且没有什么真正重要的,这带来了一堆无用的代码.

    只需创建一个DateUtils类,并始终检查Java Runtime是否已经提供类似的东西.