【发布时间】:2010-06-18 10:13:45
【问题描述】:
我在 Scala 中有一个特性,它只有一个方法。称它为 Computable,唯一的方法是 compute(input: Int): Int。我不知道我是否应该这样做
- 使用单一方法将其作为独立特征。
- 从 (Int => Int) 继承并将“compute”重命名为“apply”。
- 只需摆脱 Computable 并使用 (Int => Int)。
支持它成为特征的一个因素是我可以有用地添加一些额外的方法。但是当然,如果它们都是根据计算方法实现的,那么我可以将它们分解成一个单独的对象。
支持只使用函数类型的一个因素是简单,并且匿名函数的语法比匿名 Computable 实例的语法更简洁。但是我无法区分实际上是 Computable 实例的对象与将 Int 映射到 Int 但不打算在与 Computable 相同的上下文中使用的其他函数。
其他人如何处理这类问题?这里没有正确或错误的答案;我只是在寻求建议。
【问题讨论】:
标签: scala