Struktura aplikacji "Kasa w sklepie" - jak powinna wyglądać dobrze napisana aplikacja?

0

Witam,
napisałem aplikację konsolową "Kasa w sklepie". Osiągnąłem żądaną funkcjonalność jednak uważam, że kod jest mało elegancki. W pracy tworze głownie malutkie programy do raportów i praktycznie tworze 1-2 klasy w projekcie dlatego pytam o radę jak to powinno wyglądać w rozbudowanym profesjonalnym projekcie.

W aplikacji stworzyłem klasy: Kasa, Menu i Produkt.

  • Kasa ma sporo metod: Wyświetl, Dodaj/Usuń produkt, Wczytaj liste, Wyswietl liste, Zapisz liste, Wyczysc liste, Sumuj produkty.

  • Menu wyświetla menu głowne programu i podmenu dla poszczególnych opcji

  • Produkt nie ma żadnej metody poza konstruktorem, który uzupełnia pola: cena, nazwa, rodzaj.

Obiekt klasy Kasa tworze na początku programu i kontroluje program, do klasy produkt i menu przekazuje go przez referencję.

Czy powinienem utworzyć jeszcze kilka klas, które przejmą metody Kasy a Kasa będzie je tylko wywoływać? np:

  • Stworzyć Klasę FileReader, która wczyta, zapisze, usunie listę

  • Klasa kalkulator, która obliczy sumę

  • Klasa operującą na produktach: dodawania, usuwanie, przechowywanie listy w konterze

Kolejna kwestia, że klasy nie dziedziczą po sobie. Powinienem stworzyć klasę Kasa z podstawowymi metodami a później dziedziczącą po niej KaseSklep która ma dodatkowe metody?

Po optymalizacji wrzucę kod do oceny - jeżeli ktoś będzie miał ochotę spojrzeć i udzielić rad będę bardzo wdzięczny.

1

Każda klasa powinna mieć swoją jedną określoną odpowiedzialność. Nie robić wszystkiego. Podany przez Ciebie podział sensowny.
Nic na siłę, nie musisz korzystać z dziedziczenia, jeśli nie jest to potrzebne.
Zapoznaj się koniecznie z wzorcem MVC (Model-View-Controller), bo z tego się korzysta przy profesjonalnych aplikacjach.

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