Ważniejszą kwestią do podkreślenia tutaj jest tworzenie dobrych abstrakcji . Małe klasy, które są luźno połączone i mają wysoką spójność, są wynikiem dobrych abstrakcji .
Czasami sensowne jest kapsułkowanie dwóch liczb całkowitych w klasie. Zwłaszcza jeśli chcesz mieć metody „dołączone” do tej klasy, aby również opisać, w jaki sposób można manipulować tymi atrybutami i upewnić się, że chronisz je przed innymi częściami programu, które je zmieniają.
Kolejną zaletą stworzenia klasy w tym przypadku jest to, że klasa może ewoluować znacznie lepiej / ładniej niż, powiedzmy, struktura danych niższego poziomu, taka jak mapa lub lista.
Po trzecie, dobra abstrakcja może znacznie poprawić czytelność. Klasy, które stosują się do SRP są zazwyczaj znacznie łatwiejsze do zrozumienia dla człowieka niż klasy, które tego nie robią.
I jako ostatnia uwaga ... bez względu na to, jak dobry jesteś studentem ... aby zrozumieć OOP i dobre abstrakcje, a kiedy z nich korzystać, potrzebujesz doświadczenia. Musisz napisać zły kod i przejść przez ból, aby go utrzymać. Musisz zobaczyć, jak inni piszą dobry kod, aby rozwinąć twoją wiedzę na temat tego, co jest „dobre” i co będzie problemem w dalszej kolejności… Więc nie pobijaj się, jeśli po prostu go nie rozumiesz.
"As small as possible, but no smaller."