Паттерны вPHP

mshdn

Новичок
Паттерны вPHP

Кто знает, подскажите ссылки на использование(описание, примеры) паттернов в PHP.
 

zerkms

TDD infected
Команда форума
паттерны не регламентируют реализацию. паттерны регламентируют подход. с этой точки зрения не важно на каком языке программирования написаны примеры в книге.

Из книг с примерами на пхп приведу только "guide to php design patterns"
 

Alexandre

PHPПенсионер
с этой точки зрения не важно на каком языке программирования написаны примеры в книге.
Отчасти я не согласен. Паттерны первоночально разрабатывались исключительно для компилированных языков и некоторые вещи, в PHP типа $module = new $moduleName в компилируемых языках реализуются через Фабрику, или $module->$action - через "Метод Template"
По большому счету, язык накладывает свой отпечаток на использование паттернов и программирование ради тупого использования паттернов или ради программирования никому не нужно.

Но, как выше указал zerkms, они помогают правильно мыслить, общаться между разработчиками ...
 

zerkms

TDD infected
Команда форума
Паттерны первоночально разрабатывались исключительно для компилированных языков
ну и бред.

По большому счету, язык накладывает свой отпечаток на использование паттернов и программирование ради тупого использования паттернов или ради программирования никому не нужно.
ЯП накладывает отпечаток на реализацию, но не на идею конкретного паттерна.
 

zerkms

TDD infected
Команда форума
Паттерны первоночально разрабатывались исключительно для компилированных языков
откуда дровишки собсна?
Я уж молчу о том, что паттерны не "разрабатывались" специально. Паттерн это просто классификация техники. Так что паттерны просто появились сами собой в результате обобщения опыта и классификации.
 

Духовность™

Продвинутый новичок
не важно на каком языке программирования написаны примеры в книге
ну лучше, что бы они были написаны на том языке, на котором ты программируешь. все-таки своя рубашка ближе к телу..
 

Adelf

Administrator
Команда форума
ну лучше, что бы они были написаны на том языке, на котором ты программируешь. все-таки своя рубашка ближе к телу..
Да по барабану должно быть :) Синтаксис Java я, например, изучил только по примерам из книг. Хотя, пожалуй, когда примеры на бейсике - это раздражает.
 

Alexandre

PHPПенсионер
Паттерны первоночально разрабатывались исключительно для компилированных языков
откуда дровишки собсна?
Собственно это история,
В 1987 году Кент Бэк (Kent Beck) и Вард Каннигем (Ward Cunningham) взяли идеи Александра и разработали шаблоны применительно к разработке программного обеспечения для разработки графических оболочек на языке Smalltalk.

В 1988 году Эрих Гамма (Erich Gamma) начал писать докторскую диссертацию при цюрихском университете об общей переносимости этой методики на разработку программ.

В 1989—1991 годах Джеймс Коплин (James Coplien) трудился над разработкой идиом для программирования на C++ и опубликовал в 1991 году книгу Advanced C++ Idioms.

В этом же году Эрих Гамма заканчивает свою докторскую диссертацию и переезжает в США, где в сотрудничестве с Ричардом Хелмом (Richard Helm), Ральфом Джонсоном (Ralph Johnson) и Джоном Влиссидсом (John Vlissides) публикует книгу Design Patterns — Elements of Reusable Object-Oriented Software. В этой книге описаны 23 шаблона проектирования. Также команда авторов этой книги известна общественности под названием Банда четырёх (англ. Gang of Four, часто сокращается до GoF). Именно эта книга стала причиной роста популярности шаблонов проектирования.
Авторы - разработчики, разрабатывали для Java & C++

Фаны других языков прониклись этой идеей и она распространилась практически на все.
ну лучше, что бы они были написаны на том языке, на котором ты программируеш
Для каждого языка - своя реализация паттернов.
Паттерны - это способ мышления, разработки архитектуры приложения.
 

zerkms

TDD infected
Команда форума
Alexandre
если я не ошибаюсь, то история таки началась со Smalltalk. Из того, что паттерны были впервые классифицированы программистами, использующими компилируемые ЯП ничего, собственно, не значит. это равносильно тому, что впервые о паттернах было написано на английском языке - поэтому именно на этом языке лучше всего паттерны обсуждать.
 

Alexandre

PHPПенсионер
если я не ошибаюсь, то история таки началась со Smalltalk.
поправил

-~{}~ 13.08.09 15:19:

Критика

Иногда шаблоны консервируют громоздкую и малоэффективную систему понятий, разработанную узкой группой. Когда количество шаблонов возрастает, превышая критическую сложность, исполнители начинают игнорировать шаблоны и всю систему, с ними связанную.

Нередко шаблонами заменяется отсутствие или недостаточность документации в сложной программной среде.

Есть мнение, что слепое применение шаблонов из справочника, без осмысления причин и предпосылок выделения каждого отдельного шаблона, замедляет профессиональный рост программиста, так как подменяет творческую работу механическим подставлением шаблонов. Люди, придерживающиеся данного мнения, считают, что знакомиться со списками шаблонов надо тогда, когда «дорос» до них в профессиональном плане — и не раньше. Хороший критерий нужной степени профессионализма — выделение шаблонов самостоятельно, на основании собственного опыта. При этом, разумеется, знакомство с теорией, связанной с шаблонами, полезно на любом уровне профессионализма и направляет развитие программиста в правильную сторону. Сомнению подвергается только использование шаблонов «по справочнику».

Шаблоны могут пропагандировать плохие стили разработки приложений, и зачастую слепо применяются.
 

baev

‹°°¬•
Команда форума
взяли идеи Александра
— что ж про Александра (наверно, всё-таки, Александера) больше не написали? Скрываете, что «паттерны», вообще-то, не программистами придуманы?
 

Alexandre

PHPПенсионер
Скрываете, что «паттерны», вообще-то, не программистами придуманы?
Строителем, вроде, да?
архитектором, в какой-то мере - строителем
Архитектура В 70-х годах двадцатого века архитектор Кристофер Александр (Christopher Alexander) составил набор шаблонов проектирования. В области архитектуры эта идея не получила такого развития, как позже в области программной разработки.
 

mshdn

Новичок
Спасибо за дискуссию, немного прояснилось "на доске" - паттерны - это способ программирования при помощи ООП, поэтому стандартов здесь нет? т.е. я реализую паттерны своми силами ипо своему усмотрению? Я думал, что есть библиотечные классы...
 

AmdY

Пью пиво
Команда форума
mshdn
паттерны - это часто употребляемые архитектурные решения (куски кода). которые умные люди додумались как-то обозвать, чтобы понимать друг друга было легче и делать заумный вид. сказал фабричный метод или обсервер и все собеседники представили код и как нужно с ним работать. некоторые паттерны уже воплощены в самих языках, как выше продемонстрировал Alexandre. посмотри свой код, ты найдёшь там кучу паттернов(шаблонов).
 
Сверху