Ho studiato l'OOP in collaborazione con l'implementazione MVC di Zend negli ultimi mesi. Sono abbastanza nuovo alla programmazione, in generale, ma sento strongmente che dovrei imparare le cose nel modo "giusto", che per me significa essere sicuro di capire perché le cose sono fatte come sono. Ho scoperto che imparando a fare qualcosa (qualsiasi cosa, diciamo la musica), il modo migliore per imparare a fare qualcosa è sapere perché è fatto in quel modo in primo luogo.
In ogni caso, ho faticato molto a capire come sviluppare i miei modelli di business (cioè la M di MVC), e ho deciso che non è perché non capisco l'OOP in generale, perché ho studiato per diversi mesi e non credo che i concetti siano molto difficili da comprendere. Trovo che gli esempi che ho studiato siano molto intuitivi, in realtà. Il problema per me, penso, sta nel tradurre i miei problemi in soluzioni orientate agli oggetti. Gli esempi nei libri (che ho letto finora) sono troppo ovvi, quindi il processo di tradurre il problema in oggetti non è molto difficile. Quello che penso possa mancare è un processo astratto di alto livello. Una sorta di elenco di passaggi o domande a cui ogni soluzione orientata agli oggetti deve rispondere al più alto livello.
Se dovessi descrivere un tale processo in non più di cinque passaggi, quali sarebbero e perché? Qual è il processo più efficace per tradurre qualsiasi problema in una soluzione orientata agli oggetti?