Zawsze programowałem w językach proceduralnych i obecnie przechodzę do orientacji obiektowej. Głównym problemem, z którym się spotkałem, jest to, że nie widzę sposobu, aby ćwiczyć orientację obiektową w efektywny sposób. Wyjaśnię mój punkt widzenia. Kiedy nauczyłem się PHP i C, było dość łatwo ćwiczyć: wystarczyło wybrać coś i pomyśleć o algorytmie do tego.
Na przykład w PHP chodziło o to, żeby usiąść i pomyśleć: „cóż, tylko poćwiczę, pozwól mi zbudować jedną aplikację z obszarem administracyjnym, w którym ludzie mogą dodawać produkty”. Było to dość łatwe, wystarczyło pomyśleć o algorytmie, aby zarejestrować jakiegoś użytkownika, zalogować się do niego i dodać produkty. W połączeniu z funkcjami PHP był to dobry sposób na ćwiczenie.
Teraz w orientacji obiektowej mamy wiele dodatkowych rzeczy. Nie chodzi tylko o myślenie o algorytmie, ale o głębszą analizę wymagań, pisanie przypadków użycia, opracowywanie diagramów klas, właściwości i metod, konfigurowanie wstrzykiwania zależności i wiele innych rzeczy.
Najważniejsze jest to, że w sposobie uczenia się orientacji obiektowej wydaje się, że dobry projekt ma kluczowe znaczenie, podczas gdy w językach proceduralnych wystarczył jeden niejasny pomysł. Ja nie mówią, że w językach proceduralnych możemy napisać dobre oprogramowanie bez projektu, tylko że przez wzgląd na ćwiczenia to jest możliwe, natomiast w położeniu obiektu nie wydaje się możliwe, aby przejść bez dobrego projektu, nawet dla praktykujących.
To wydaje się być problemem, ponieważ jeśli za każdym razem, gdy będę ćwiczyć, muszę wymyślić mnóstwo wymagań, przypadków użycia i tak dalej, wydaje się, że nie jest to dobry sposób na lepszą orientację obiektową, ponieważ wymaga to mam cały pomysł na aplikację za każdym razem, gdy będę ćwiczyć.
Z tego powodu jaki jest dobry sposób ćwiczenia orientacji obiektowej?