我在Scala中有许多无状态对象,我想将它们组合成一个API - 一种外观如下:
object tools {
// List all methods in toolA
// List all methods in toolB
// List all methods in toolC
}
object ToolA { ... }
object ToolB { ... }
object ToolC { ... }
Run Code Online (Sandbox Code Playgroud)
显然,这是烦人在维护列表tools中的方法ToolA,ToolB和ToolC正在改变很多.A/B/C中没有状态,也没有设置参数.
有什么要说的途径...... "使tools包含集合中的所有的方法中ToolA,ToolB和ToolC"?
将ToolA,B和C定义为特征
trait ToolA {
//stateless methods in ToolA
}
Run Code Online (Sandbox Code Playgroud)
那你可以做
object tools extends ToolA with ToolB with ToolC
Run Code Online (Sandbox Code Playgroud)
您还可以只为ToolA,ToolB和ToolC提供辅助对象
object toolA extends ToolA
object toolB extends ToolB
object toolC extends ToolC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
319 次 |
| 最近记录: |