Пожалуйста, только не надо думать, что паттерны — это серебряная пуля, которая решит все проблемы. Множество раз встречался с кодом, который был ужасен, зато использовал паттерны. Не там где надо, и не так, как надо, но наверное автор чувствовал, что пишет шедевр, так как он «использовал паттерны».
Ценность паттернов в динамических языках вообще намного ниже, чем в статических. Большинство книг по паттернам были написаны для языков C++ и Java. В динамических интерпертируемых языках очень часто можно обойтись без них.
Я бы советовал вообще не заморачиваться. Если у вас есть нетривиальная проблема, и вы не знаете, как ее элегантно решить, тогда смотреть паттерны и думать, какой лучше подходит для решения проблемы. Когда сначала берутся паттерны, и применяются к решению произвольной проблемы (которая более элегантно решается без паттернов, или с использованием других паттернов), получается плохой нечитаемый код, который вообще не делает то, что нужно.