Powiedzcie mi czy moje rozważania mają sens i idą dobrą stronę.
Założenia: aplikacja* dodająca osoby
Mam obiekt Person który ma następujące pola
public String name
public String surname
2 konstruktory jeden bezargumentowy, drugi jako argumenty przyjmują imię i nazwisko. Oprócz tego posiada zestaw geterów i seterów.
Aplikacja musi te osoby dodawać więc pierwsza myśl: "dorzucić metodą addPerson do klasy Person". Z drugiej strony od kiedy to osoba sama się dodaje. Niby może się gdzieś zapisać, ale to bez sensu chyba. Więc druga myśl prowadzi mnie do utworzenia klasy PersonTools, która byłaby czymś w rodzaju modelu. Posiadałaby metody takie jak addPerson, deletePerson, editPerson. Byłaby to warstwa komunikująca się z bazą. Nic by nie dziedziczyła bo to de facto nie jest rozszerzenie. Czy może powinna dziedziczyć po klasie Person ?
Idąc dalej jeżeli aplikacja się rozrasta to chyba rozsądnie jest stworzyć interfejs Tools który posiadałby metody, a raczej wymuszał utworzenie metod:
add
delete
edit
na każdej klasie implementującej ten interfejs. Czy to ma ręce i nogi ? Czy gdzieś się pogubiłem ?
*aplikacja - szumnie nazwałem to aplikacją po to żeby mieć na czym wymodelować mój problem