Python имеет свои собственные идиомы дизайна. Некоторые стандартные шаблоны применяются, другие - нет. Что-то вроде стратегии или фабрик поддерживают на языке, что делает их прозрачными.
Например, с первоклассными типами все может быть фабрикой. Нет необходимости в заводском типе, вы можете использовать класс непосредственно для построения любого объекта, который вы хотите.
В принципе, у Python есть свои собственные идиомы дизайна, которые несколько отличаются в значительной степени потому, что они настолько динамичны и обладают невероятными возможностями самоанализа.
Пример:
x = list
my_list = x(range(0,5)) #creates a new list by invoking list's constructor
Назначив класса типа для отзывной объекта вы можете существенно удалить любые типы «фабричные» в вашем коде. Вы остаетесь только с вызывающими, которые создают объекты, которые должны соответствовать некоторым данным соглашениям.
Кроме того, в Python есть шаблоны проектирования, которые просто не могут быть представлены на других статически типизированных языках эффективно. Хорошими примерами являются метаклассы и декораторы.
Не «очевидно»: плохо писать на языке А, как если бы это был язык B ». Независимо от чего есть. Написание Python в Perl может быть столь же плохим. –
Сами шаблоны дизайна должны быть агностическими. Некоторые тексты могут использовать спецификацию для обсуждения реализаций, хотя шаблоны должны быть на другом уровне абстракции. – Geoglyph
См. Http://stackoverflow.com/questions/127377/programming-languages-and-design-patterns –