Записи с меткой «паттерны проектирования»
Паттерн проектирования Factory Method (Фабричный метод) на PHP 14.08.2010 PHP, Паттерны проектирования
Перед прочтением ознакомьтесь с введением в паттерны проектирования на PHP, в котором описаны принятые соглашения и понятия. Данная статья дополняется с некоторой периодичностью, так что если вы ее читали ранее, не факт что данные не изменились.
Factory Method относиться к классу порождающих паттернов. Они используются для определения и поддержания отношений между объектами. Фабричные методы избавляют проектировщика от необходимости встраивать в код зависящие от приложения классы. читать дальше»
Паттерн проектирования Abstract Factory (Абстрактная фабрика) на PHP 08.08.2010 PHP, Паттерны проектирования
Перед прочтением ознакомьтесь с введением в паттерны проектирования на PHP, в котором описаны принятые соглашения и понятия. Данная статья дополняется с некоторой периодичностью, так что если вы ее читали ранее, не факт что данные не изменились.
AbstractFactory относиться к классу порождающих паттернов. Его основное назначение — предоставить интерфейс для создания семейства взаимосвязанных объектов, не специфицируя их классы. читать дальше»
Паттерны (шаблоны) проектирование в PHP. Введение 07.08.2010 PHP, Паттерны проектирования

Паттерн проектирования (design pattern) — это общее типовое решение некоторой проблемы, многократно повторяемое в процессе проектирования архитектуры программного продукта. Они показывают отношения и взаимодействия между классами, позволяют сделать систему гибкой и легко изменяемой. За счет их правильного использования повышается коэффициент использования готовых решений.
Я буду постепенно описывать каждый паттерн и добавлять его в список на этой странице.
Я предполагаю, что читатель осведомлен о понятиях ООП и знает в чем разница между интерфейсом и абстрактным классом. Знает что такое полиморфизм, инкапсуляция и наследование. Если вы не уверены в своих силах, рекомендую к прочтению статью из википедии .
В процессе описания я буду использовать UML, для графического изображением классов и их отношений. На этот счет не стоит беспокоиться, даже если вы не сталкивались с ним раньше, его можно интуитивно понять.
Понятия
- Здесь и далее в статьях я буду употреблять «паттерн» (pattern) вместо русского аналога «шаблон»
- Инстанация (instanate) — процесс создания объекта определенного класса.
- Код клиента — это код программиста, который будет работать с нашей частью программы по принципу черного ящика, т.е. только через публичный интерфейс
Список
-
Порождающие
-
Структурные
-
Паттерны поведения
- Chain of Responsibility (Цепочка обязанностей)
- Command (Команда)
- Interpreter (Интерпретатор)
- Iterator (Итератор)
- Mediator (Посредник)
- Memento (Хранитель)
- Observer (Наблюдатель)
- State (Состояние)
- Strategy (Стратегия)
- Chain of Responsibility (Цепочка обязанностей)
- Template Method (Шаблонный метод)
- Visitor (Посетитель)