我正在设计一个复杂的配置类作为 API 设计的一部分。配置类大致看起来像这样..(我忽略了泛型/访问修饰符等)
class Configuration {
One obj1;
Two obj2;
}
class One {
List<Double> values;
}
class Two {
double value;
Map<String, Double> data;
}
这就是我想要完成的:
- 我希望用户能够在第一时间轻松创建此配置类并提交到服务器。
- 然后他们可以更改此类的任何部分并将更新的配置发送到服务器。
使用和避免哪些设计模式?
使此类不可变并使用构建器模式会更好吗?或者只是在配置类上提供各种修改方法,这样他们就可以就地修改相同的配置类(在所有级别),而不必为每次更新创建一个新的配置类。我认为 Builder 模式仅适用于不可变类。
问题:
- 有没有办法在这种类型的场景中利用 Builder 模式?
- 还是像我上面提到的那样在 Configuration 类上提供 mutator 方法更好?
- 还是有其他更好的模式可用?