PHP/ООП
Шаблон Bridge (Мост)
04-11-2019PHP/ООП
Паттерн Bridge представляет собой возможность объединения двух разных интерфейсов так, чтобы каждый из них развивался раздельно. Чтобы понять его назначение, проще всего объяснить на примере Java. Read
Шаблон Prototype (Прототип)
03-11-2019PHP/ООП
Прототип — порождающий шаблон проектирования. Он используется для клонирования существующего объекта, вместо его инстанцирования с помощью new. Нам повезло, что в PHP уже есть всё необходимое для Prototype — это языковая конструкция clone, которая позволяет упростить реализацию праттерна до одной строчки. Read
Шаблон Observer (Наблюдатель)
02-11-2019PHP/ООП
Поведенческий шаблон Наблюдатель реализует механизм, с момощью которого один класс может уведомлять другие о своём изменении. Практическая реализация кода может быть разной, но в PHP уже существуют готовые стандартные интерфейсы SplSubject, SplObjectStorage и SplObserver, на которых и принято реализовывать паттерн Observer. Read
Шаблон проектирования Adapter (адаптер)
07-10-2019PHP/ООП
Суть паттерна отражает его название — использовать два несовместимых между собой класса через некий общий интерфейс. То есть создаётся класс-оболочка, которая скрыто выполняет нужный класс. По своему поведению, Адаптер очень Read
Шаблон Strategy (Стратегия)
28-08-2019PHP/ООП
Strategy — поведенческий шаблон, где используются разные алгоритмы в одном объекте. То есть Стратегия позволяет выделить отдельные конкретные алгоритмы, а после их использовать в базовом классе. Read
Шаблон Builder (Строитель)
12-08-2019PHP/ООП
На мой взгляд паттерн Builder один из самых сложных. Найти ему практическое применение проблематично, поэтому он используется только в очень редких случаях, когда требуется работать со сложным составным объектом. Read
Шаблон Composite (Компоновщик)
09-08-2019PHP/ООП
Основной смысл паттерна в том, чтобы позволить вначале создать коллекцию объектов классов, а после их выполнить скопом. Какое-то практическое применение Composite в PHP найти сложно, разве что для решения задач, когда требуется выполнить сразу много действий из разных классов. Read