Последние несколько месяцев я изучал ООП в сочетании с реализацией Zend MVC. В общем, я довольно новичок в программировании, но я твердо убежден, что я должен учить вещи «правильным» способом, что для меня означает убедиться, что я понимаю, почему все сделано так, как есть. Т.е. я обнаружил, что при обучении тому, как что-то делать (что-нибудь, скажем, музыке), лучший способ научиться делать что-то - это знать, почему это делается в первую очередь.
В любом случае, я изо всех сил пытался понять, как разрабатывать свои собственные бизнес-модели (например, M из MVC), и я решил, что это не потому, что я не понимаю ООП в целом, потому что я изучал его несколько раз. месяцев, и я не думаю, что концепции очень трудно понять. Я нахожу примеры, которые я изучил, на самом деле очень интуитивно понятными. Проблема для меня, я думаю, заключается в процессе перевода моих собственных проблем в объектно-ориентированные решения. Примеры в книгах (которые я читал до сих пор) слишком очевидны, поэтому процесс перевода проблемы в объекты не очень сложен. То, что я думаю, я мог бы упустить - это абстрагированный процесс высокого уровня. Какой-то список шагов или вопросов, на которые каждое объектно-ориентированное решение должно отвечать на самом высоком уровне.
Если бы вам пришлось описывать такой процесс не более чем за пять шагов, что бы они были и почему? Каков наиболее эффективный процесс перевода любой проблемы в объектно-ориентированное решение?