Problem w rozbudowaniu źle zaprojektowanej aplikacji

0

Rozbudowuję pewien program i powiedzmy, że zasada działania jest identyczna jak poniżej. Mam podobne klasy do tych:

class Animal {
    public void doSomething() { }
}

class Dog extends Animal { 
    @Override
    public void doSomething() { }
}

class Cat extends Animal {
    @Override
    public void doSomething() { }
}

I potem sobie wywołuję metody za pomocą polimorfizmu:

Animal cat = new Cat();
Animal dog = new Dog();

cat.doSomething(); 
dog.doSomething();

Problem polega na tym, że postępując zgodnie z określonym schematem musiałbym utworzyć jeszcze ponad 300 klas pochodnych i potem wywołać z nich metody. A to jest bardzo masochistyczne podejście. Już na samą myśl o tym coś mnie trafia... Co powinienem zrobić w takim przypadku? Istnieje jakieś lepsze rozwiązanie uwzględniające nawet całkowite przepisanie programu tak żeby wszystko było zrobione tak jak Bóg przykazał? Z góry dzięki wszystkim chętnym za pomoc.

0

Masz błąd w architekturze - podałeś nieadekwatny przykład, zatem ciężko powiedzieć coś ponad przebuduj aplikację ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1