这是一个 OO 设计 Q。我在我的应用程序中使用类型安全配置。Config 接口非常有用,但是在我的应用程序中有几个字段;配置文件是必需的。我想做的是创建一个 Config 的子接口并添加这两个顶级方法。像这样的东西
trait AppConfig extends Config{
def param1:String
def param2:String
}
但是,在给定 Config 实例的情况下创建 AppConfig 的真实实例似乎并不可行。(我不想创建包装器对象并复制 Config 接口上的所有方法)。理想情况下,我正在寻找可以实现接近此目标的东西
val conf:Config = //get config object from somewhere
return conf with AppConfig { overrider def param1 = {"blah"} }
我明白最后一行是无效的。但我正在寻找具有等效功能的模式/结构。