I have 2 different classes which contain considerable number of the same public methods.
public class HorizontalPackageSelector extends HorizontalScrollView {
// skipped
public void method1() {
doSomething1();
doSomething2();
}
}
and
public class VerticalPackageSelector extends ScrollView {
// skipped
public void method1() {
doSomething1();
doSomething2();
}
}
And several other methods (about 200 lines in both classes).
I see only one way to avoid duplication:
public class PackageSelectorHelper {
// skipped
public void method1() {
doSomething1();
doSomething2();
}
}
public class HorizontalPackageSelector extends HorizontalScrollView {
private final PackageSelectorHelper helper = new PackageSelectorHelper(this);
// skipped
public void method1() {
helper.method1();
}
}
public class VerticalPackageSelector extends ScrollView {
private final PackageSelectorHelper helper = new PackageSelectorHelper(this);
// skipped
public void method1() {
helper.method1();
}
}
But this is not easy to do if a number of identical methods is too big.
0 comments:
Post a Comment