Saya telah mempelajari OOP bersamaan dengan implementasi MVC Zend selama beberapa bulan terakhir. Saya cukup baru dalam pemrograman, tetapi saya merasa sangat kuat bahwa saya harus mempelajari berbagai hal dengan cara yang 'benar', yang bagi saya berarti memastikan saya memahami mengapa segala sesuatunya dilakukan sebagaimana adanya. Yaitu, saya telah menemukan bahwa dalam mempelajari cara melakukan sesuatu (apa saja, katakan musik), cara terbaik untuk belajar bagaimana melakukan sesuatu adalah dengan mengetahui mengapa hal itu dilakukan dengan cara itu.
Bagaimanapun, saya telah berjuang sangat keras dengan memahami bagaimana mengembangkan model bisnis saya sendiri (yaitu, M dari MVC), dan saya telah memutuskan itu bukan karena saya tidak mengerti OOP secara umum, karena saya telah mempelajarinya untuk beberapa berbulan-bulan dan saya tidak berpikir konsepnya sangat sulit untuk dipahami. Saya menemukan contoh-contoh yang saya pelajari sangat intuitif. Masalahnya bagi saya, saya pikir, terletak pada proses menerjemahkan masalah saya sendiri menjadi solusi berorientasi objek. Contoh-contoh dalam buku (yang telah saya baca sejauh ini) terlalu jelas, sehingga proses menerjemahkan masalah menjadi objek tidak terlalu sulit. Apa yang saya pikir mungkin saya lewatkan adalah proses abstrak tingkat tinggi. Semacam daftar langkah atau pertanyaan yang harus dijawab oleh setiap solusi berorientasi objek pada level tertinggi.
Jika Anda harus menggambarkan proses seperti itu dalam tidak lebih dari lima langkah, akan seperti apa mereka dan mengapa? Apa proses yang paling efektif dalam menerjemahkan masalah menjadi solusi berorientasi objek?