Przez ostatnie kilka miesięcy studiowałem OOP w połączeniu z implementacją Zend MVC. Ogólnie jestem całkiem nowy w programowaniu, ale zdecydowanie uważam, że powinienem uczyć się rzeczy „we właściwy sposób”, co dla mnie oznacza upewnienie się, że rozumiem, dlaczego rzeczy są wykonywane tak, jak są. Tzn. Odkryłem, że ucząc się, jak coś zrobić (cokolwiek, powiedzmy muzykę), najlepszym sposobem, aby dowiedzieć się, jak coś zrobić, jest wiedzieć, dlaczego tak się dzieje.
W każdym razie bardzo trudno mi było zrozumieć, jak opracować własne modele biznesowe (tj. M z MVC), i zdecydowałem, że to nie dlatego, że ogólnie nie rozumiem OOP, ponieważ studiowałem go przez kilka miesiące i nie sądzę, że koncepcje są bardzo trudne do zrozumienia. Przykłady, które studiowałem, są bardzo intuicyjne. Myślę, że problem polega na przełożeniu własnych problemów na rozwiązania obiektowe. Przykłady w książkach (które do tej pory przeczytałem) są zbyt oczywiste, więc proces tłumaczenia problemu na obiekty nie jest bardzo trudny. Wydaje mi się, że brakuje mi abstrakcyjnego procesu na wysokim poziomie. Jakaś lista kroków lub pytań, na które każde rozwiązanie obiektowe musi odpowiedzieć na najwyższym poziomie.
Gdybyś musiał opisać taki proces w nie więcej niż pięciu krokach, co by to było i dlaczego? Jaki jest najskuteczniejszy proces w tłumaczeniu dowolnego problemu na rozwiązanie obiektowe?