Задать вопрос

Как выучить/понять ООП паттерны?

Доброго времени суток.

Захотелось для себя попробовать разобраться (хотя-бы) в основных патернах. Время от времени возникает необходимость писать что то с нуля, или же глобально работать напильником (переделывать большие куски). Столкнулся с тем что, понимаю реализацию, и понимаю пользу буквально нескольких шаблонов.. (например синглетон или фабрика т.п.) , в остальном же, это изобретение велосипедов.
Решил начать с книжки "Мэт Задстра
РНР: объекты, шаблоны и методики программирования
4-е издание" Прекрасно написано, чуть ли не для детей, но вот прочитав уже больше половины, понимаю что в памяти осталось несколько новых слов - названий, может еще совсем немного понимания новой логики и все.
Я не планирую заучивать названия или методы (мне не экзамен сдавать), хотелось бы разобраться именно для себя. Может что то посоветуете?
  • Вопрос задан
  • 4131 просмотр
Подписаться 8 Оценить Комментировать
Ответ пользователя Евгений К ответам на вопрос (6)
@immaculate
Программист-путешественник
Пожалуйста, только не надо думать, что паттерны — это серебряная пуля, которая решит все проблемы. Множество раз встречался с кодом, который был ужасен, зато использовал паттерны. Не там где надо, и не так, как надо, но наверное автор чувствовал, что пишет шедевр, так как он «использовал паттерны».

Ценность паттернов в динамических языках вообще намного ниже, чем в статических. Большинство книг по паттернам были написаны для языков C++ и Java. В динамических интерпертируемых языках очень часто можно обойтись без них.

Я бы советовал вообще не заморачиваться. Если у вас есть нетривиальная проблема, и вы не знаете, как ее элегантно решить, тогда смотреть паттерны и думать, какой лучше подходит для решения проблемы. Когда сначала берутся паттерны, и применяются к решению произвольной проблемы (которая более элегантно решается без паттернов, или с использованием других паттернов), получается плохой нечитаемый код, который вообще не делает то, что нужно.
Ответ написан
Комментировать