Podział na klasy w programie "Biblioteka"

0

Witam.
Mam do napisania program "Biblioteka".
Stworzyć klasę książka, które ma jakieś pola (tytuł, index).
Program ma umożliwiać ;
*Dodanie książki
*wyszukanie po indexie czy tytule.

Moje pytanie dot. na jakie klasy byście podzielili ten program.
Wiadomo 1szą klasą będzie książka, interfejs może być w klasie Biblioteka, ale wyszukiwanie książki po indexie czy tytule, powinno być realizowane w osobnej klasie czy po prostu w klasie Biblioteka ?
Pozdrawiam

2

Wg SOLID i zasady pojedynczej odpowiedzialności, nie powinien istnieć więcej niż jeden powód do modyfikacji klasy. Zastanów się czy w tym przypadku istnieje ryzyko, że będziesz chciał inaczej dodawać, wyszukiwać albo przechowywać książki, jeżeli tak, to powinieneś przenieść funkcjonalność do osobnej klasy, tak aby jedna klasa miała tylko pojedynczą odpowiedzialność. Możesz też spojrzeć z drugiej strony np. teraz przechowujesz zbiór książek w tablicy, a w przyszłości chciałbyś wykorzystać listę albo mapę? Czy wpłynie to na sposób wyszukiwania albo dodawania?

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