2

Scala にはステートレス オブジェクトが多数あり、それらを 1 つの API に結合したいと考えています。これは、次のようなファサードのようなものです。

object tools {
   // List all methods in toolA

   // List all methods in toolB

   // List all methods in toolC

}
object ToolA { ... }
object ToolB { ... }
object ToolC { ... }

、、およびtoolsのメソッドが大幅に変更されているため、 のリストを維持するのは明らかに面倒です。A/B/C にはステートがなく、セットアップ パラメータはありません。ToolAToolBToolC

言い方は何ですか... 「、、、および」のtoolsすべてのメソッドのセットを含めるToolAToolBToolCようにしますか?

4

1 に答える 1

6

代わりに、ToolA、B、および C を特性として定義します

trait ToolA {
    //stateless methods in ToolA
}

それからあなたはすることができます

object tools extends ToolA with ToolB with ToolC

ToolA、ToolB、および ToolC のみのヘルパー オブジェクトを使用することもできます。

object toolA extends ToolA
object toolB extends ToolB
object toolC extends ToolC
于 2013-02-16T01:08:30.713 に答える