我有一个当前像dto一样使用的类,并且我必须创建一个具有类似属性的类(小于实际属性),是否有与此相关的模式?我以为适配器会有所帮助,但我不知道如何。
class ONE {
ObjectA oa;
ObjectB ob;
ObjectC oc;
String id;
String name;
String someId;
String country;
}
class TWO {
ObjectB ob;
ObjectC oc;
String name;
String someId;
String country;
}
有任何线索吗?
答案 0 :(得分:0)
我看到了两个使用选项:
使用父类和子类的示例
class ONE extends TWO{
ObjectA oa;
String id;
}
class TWO {
ObjectB ob;
ObjectC oc;
String name;
String someId;
String country;
}
答案 1 :(得分:0)
优先考虑组成而不是继承。
class ONE {
ObjectA oa;
String id;
TWO ot;
}
class TWO {
ObjectB ob;
ObjectC oc;
String name;
String someId;
String country;
}
答案 2 :(得分:0)
在这里您必须说明使用继承/组合是否有意义。使用类ONE
和TWO
的名称很难说,所以让我举一个例子。说,我们有这样的Vehicle和Phone类,
class Vehicle {
String model;
String color;
String type;
}
class Phone{
String model;
String color;
String type;
String brand;
Integer core;
Integer ramInGB;
}
在Vehicle
和Phone
类中有一些共同点。但是您不能像这样更改Phone
class Phone{
Vehicle v;
String brand;
Integer core;
Integer ramInGB;
}
或
class Phone extends Vehicle{
String brand;
Integer core;
Integer ramInGB;
}
在任何地方使用任何设计模式之前,必须确定在这种情况下使用它是否合理。不要仅仅为了使用设计模式而使用设计模式。
回到示例,如果ONE和TWO在任何意义上都不相关,则应保留它们。但是,如果是这样,则可以使用继承或合成。这是link,您可能需要先进行选择。