У меня есть класс SomeClass
, который использует методы из служебного класса UtilClass1
, и, в свою очередь, эти служебные методы используют методы из другого служебного класса Utilclass2
. Все эти методы принимают в качестве параметра MetaObject
. Приведенный ниже пример должен отражать суть того, с чем я фактически работаю:
Interface MetaInterface {
String getName();
String getBigName();
}
class MetaObj implements MetaInterface {
private String name;
@Override
public String getName() {
this.name;
}
@Override
public String getBigName() {
this.name.toUpperCase();
}
}
class SomeClass {
...
public someMethod() {
MetaObj mObj;
UtilClass1.utilMethod1(mObj);
}
class UtilClass1 {
public static void utilMethod1(MetaInterface metaObj) {
//do some work
metaObj.getName();
UtilClass2.utilMethod2(metaObj);
}
}
class UtilClass2 {
public static void utilMethod2(MetaInterface metaObj) {
//do some work
metaObj.getBigName();
}
}
В будущем MetaObj может измениться. Имеет ли смысл предоставлять интерфейс для служебных методов или я слишком усложняю вещи? Должен ли я просто установить MetaObj
в качестве типа параметра для всех служебных методов?