gpt4 book ai didi

scala - 如何通过组合其他对象的 API 来创建 API Facade?

转载 作者:行者123 更新时间:2023-12-01 06:12:59 24 4
gpt4 key购买 nike

我在 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 { ... }

显然,在 tools 中维护列表作为 ToolAToolBToolC 中的方法很烦人正在发生很大变化。 A/B/C中没有状态,也没有设置参数。

有什么方法可以说...“使工具包含ToolAToolB中所有方法的集合> 和 ToolC?

最佳答案

改为将工具 A、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

关于scala - 如何通过组合其他对象的 API 来创建 API Facade?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14905473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com