Как вы освоили шаблоны проектирования?
Вот вам 12 маленьких задач на 12 паттернов:github.com/zfcampus/zendcon-design-patterns
1. Открываете папку с паттерном.
2. Читаете README.md с описание задачи.
3. Открываете exercise.php и пытаетесь решить задачу, применив соответствующий паттерн.
4. При необходимости вспоминаете теорию: github.com/domnikl/DesignPatternsPHP
5. Сверяетесь с решением в solution.php.
На моём веку "тютелька в тютельку" не вписался не один из шаблонов.
Просто понять что они из себя представляют, но не стремиться им следовать досконально, иначе такой говнокод будет, что жуть. Хотя, может я их и не освоил за свои пять лет........