我正在設計一個複雜配置類作爲API設計的一部分。 Configuration類大致是這樣的。(我忽略了泛型/訪問修飾符等)在java中設計一個可變複雜類及其構造
class Configuration {
One obj1;
Two obj2;
}
class One {
List<Double> values;
}
class Two {
double value;
Map<String, Double> data;
}
這是我想要完成的任務:
- 我希望用戶能夠創建此配置類第一次輕鬆並提交給服務器。
- 然後,他們可以更改此類的任何部分並將更新的配置發送到服務器。
什麼設計模式使用和避免?
讓這個類不可變並使用生成器模式更好嗎? 或者只是提供各種修改方法在Configuration類上,以便它們可以在原地修改相同的Configuration類(在所有級別),而無需爲每個更新創建新的Configuration類。我認爲Builder模式僅適用於不可變類。
問題:
- 有沒有辦法利用這種類型的場景Builder模式?
- 或者像上面提到的那樣,在Configuration類上提供mutator方法會更好嗎?
- 還有其他更好的模式嗎?