0
我正在開發一個應用程序,我應該爲模型保存信息。具體而言,我有一個應答模型,用於存儲問題輸入的值。然而,有些問題接受多個答案(複選框),所以我必須有條件以不同的方式處理這個數組。我想知道是否有模式(也許是策略模式?)來存儲這些數據,取決於同一模型中的問題類型(Answer模型)。 謝謝大家。正確的模式來保存一個模型,適用於不同的表
我正在開發一個應用程序,我應該爲模型保存信息。具體而言,我有一個應答模型,用於存儲問題輸入的值。然而,有些問題接受多個答案(複選框),所以我必須有條件以不同的方式處理這個數組。我想知道是否有模式(也許是策略模式?)來存儲這些數據,取決於同一模型中的問題類型(Answer模型)。 謝謝大家。正確的模式來保存一個模型,適用於不同的表
聽起來像一個戰略模式。
您可以用這種方式設計你的類:
public interface Question {
public String getName();
public AnswerType getAnswerType();
}
public interface Answer {
public void accept(Question question);
public String getValue();
}
public enum AnswerType {
Singe,
Checkbox
}
現在你可以有Answer
多個實例可以接受某種類型的吧。
public class MultipleValuedAnswer implements Answer {
// Implementations.
}
public class SingleValuesAnswer implements Answer {
// Implementations.
}
而且您可以將接受答案的任務委託給不同的班級。
public class AnswerAcceptor {
public void acceptAnswers(Question question) {
if (question.getAnswerType() == AnswerType.Single) {
new SingleValuedAnswer().accept(question);
} else {
new MultipleValuedAnswer().accept(question);
}
}
}
可能有更好的方法來做到這一點,我提出了一種可能性。
我認爲這是一個好主意,按照你的方式。感謝所有。 –
您可以隨時接受並點贊答案,幫助其他人輕鬆地爲相關內容提供資金(並幫助我地球日代表xD) – Jay