Dzielenie funkcji na kilka mniejszych


(St4n3k) #1

Pisze program schroniska dla zwierząt, który trzyma w bazie danych zwierzęta różnych klas (Dog, Cat, Monkey) i funkcje które tworzą formularz i dodają zwierzęta są bardzo podobne(różnią się jedym, dwoma pytaniami a reszta jest taka sama zawsze). Czy da się je jakoś podzielić na fragmenty tak aby kod w programie się nie powtarzał?

tak wyglada różnica w funkcjach:

https://www.diffchecker.com/t0emoqah


(slepcu) #2

najprościej jest chyba wydzielić klasę nadrzędną i tam wrzuć części wspólne - w postaci kilku metod.

Twoje metody admit{gatunek} ogólnie robią za dużo.

Powinieneś stworzyć trzy klasy - AnimalForm i roszerzające ją DogForm, CatForm…

tworzenie

JPanel panel = new JPanel();

powinno być przesunięte do odrębnej metody

a samo dodawanie pól do niej podzielone na metodę w klasie AnimalForm powiadająca pola wspólne i metodę implementowaną w każdej z podklas.

 

to rozwiązanie z grupy tych prostszych, mniej zaawansowanych. jak wolisz coś jeszcze piękniejszego w formie to masz od tego wzorce projektowe, np kompozycję.