如何正确地将许多依赖项(外部API)正确传递到Scala中的类?
中我正在研究使用许多API收集数据的应用程序。对于API,我的trait
如下。
trait api {
def url: Foo
def parse: Bar
}
另外,大约有10个api
特征的实现(每个API)。在家长演员中,我想为每个外部API创建一个儿童演员。我创建了新的特征和实现,
trait ExternalApis {
val apiList: List[api]
}
object MyApis extends ExternalApis {
val apiList = List(new ApiImpl1, ..., new ApiImpl10)
}
因此,现在我可以将MyApis
对象(或ExternalApis
的任何其他实现)传递给父行为者,并通过apiList
映射以创建此类儿童演员。
在我看来,我缺少一些东西。有更多适当的方法吗?
您已完成的实现接近就绪。我想添加的东西是:
- 通过API列表可能不是执行此类事情的最理想的方式。每当您想在API列表中添加/删除某些内容时,您都必须更改代码的不同区域。一个建议是从config文件夹中读取此内容,在该文件夹中,配置文件夹将包含url,用户名,密码等内容。 。
如果您可以对这些API的使用提供更多的见解,这将有助于我的答案。
希望这有帮助!