Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中设计一个简单的用户偏好对象?_Java_Oop_Design Patterns - Fatal编程技术网

在java中设计一个简单的用户偏好对象?

在java中设计一个简单的用户偏好对象?,java,oop,design-patterns,Java,Oop,Design Patterns,我想设计一个简单的用户偏好对象及其层次结构。应该是这样的 preference String Name Object Value booleanPreference String Name Boolean Value 事情就是这样。首选项类型随类而异。我将如何实现这样一个简单的设计“抽象类/接口/” 从一个界面开始: public interface Preference<T> { String getName(); T getValu

我想设计一个简单的用户偏好对象及其层次结构。应该是这样的

preference
   String Name
   Object Value

booleanPreference
   String Name
   Boolean Value


事情就是这样。首选项类型随类而异。我将如何实现这样一个简单的设计“抽象类/接口/”

从一个界面开始:

public interface Preference<T>  {
    String getName();
    T getValue();
}
公共接口首选项{
字符串getName();
T getValue();
}
实现可能如下所示(不确定是否为泛型;未编译以进行检查):

public类PreferenceImpl实现Preference{
私有最终字符串名;
私人最终T值;
公共首选项impl(字符串名称,T值){
this.name=名称;
这个值=值;
}
公共字符串getName(){返回this.name;}
public T getValue(){返回this.value;}
}

从界面开始:

public interface Preference<T>  {
    String getName();
    T getValue();
}
公共接口首选项{
字符串getName();
T getValue();
}
实现可能如下所示(不确定是否为泛型;未编译以进行检查):

public类PreferenceImpl实现Preference{
私有最终字符串名;
私人最终T值;
公共首选项impl(字符串名称,T值){
this.name=名称;
这个值=值;
}
公共字符串getName(){返回this.name;}
public T getValue(){返回this.value;}
}

您的问题是关于寻找设计模式,还是在寻找解决方案,并且不介意使用库来实现这一点?然后你可能想看看。你的问题是关于找到一个设计模式,还是你正在寻找一个解决方案,并且不介意使用一个库来实现这个目标?然后你可能想看一看,对象中没有太多需要抽象类的东西,所以定义行为和使用接口似乎是个更好的主意。此外,我还完全隔开了泛型。谢谢你的提醒,但我就是这么做的。这里没有抽象类。泛型是关键,因为你不想为每个你想优先使用的类创建一个新的实现,我同意你的观点。我并不是有意要换个说法。我喜欢它的简单性。对象中没有太多需要抽象类的东西,所以定义行为和使用接口似乎是一个更好的主意。此外,我还完全隔开了泛型。谢谢你的提醒,但我就是这么做的。这里没有抽象类。泛型是关键,因为你不想为每个你想优先使用的类创建一个新的实现,我同意你的观点。我并不是有意要换个说法。我喜欢它的简单。