我想設計一個簡單的用戶偏好對象及其層次結構。它應該像在java中設計一個簡單的用戶首選對象?
preference
String Name
Object Value
booleanPreference
String Name
Boolean Value
....
它繼續這樣。偏好類型從班級變爲班級。我將如何去實現這樣一個簡單的設計「抽象類/接口/」?
我想設計一個簡單的用戶偏好對象及其層次結構。它應該像在java中設計一個簡單的用戶首選對象?
preference
String Name
Object Value
booleanPreference
String Name
Boolean Value
....
它繼續這樣。偏好類型從班級變爲班級。我將如何去實現這樣一個簡單的設計「抽象類/接口/」?
開始與接口:
public interface Preference<T> {
String getName();
T getValue();
}
實現可能是這樣的(約一般不知道,沒有編譯檢查):
public class PreferenceImpl implements Preference<T> {
private final String name;
private final T value;
public PreferenceImpl(String name, T value) {
this.name = name;
this.value = value;
}
public String getName() { return this.name; }
public T getValue() { return this.value; }
}
對象中沒有太多要求是抽象類,所以定義行爲和使用接口似乎是一個更好的主意。我也完全分開了泛型。感謝您的提醒。 – 2012-04-18 20:17:24
但這就是我所做的。這裏沒有抽象類。泛型是關鍵,因爲您不想爲每個想要使用Preference的類創建新的實現。 – duffymo 2012-04-18 20:18:26
我同意你的意見。不意味着以其他方式發聲。我喜歡它的簡單性。 – 2012-04-18 20:32:44
是您要找到一個設計模式或問題你在尋找一個解決方案,並不介意爲此使用一個庫嗎?那麼你可能想看看[commons-configuration](http://commons.apache.org/configuration/)。 – nansen 2012-04-18 19:36:55