Шаблон «Template method» (Шаблонный метод)
08-11-2019PHP/ООП
Основное назначение Template method — выделить из основного класса какие-то операции, которые могут быть выполнены классами-наследниками. Читать
Шаблон Proxy (Заместитель)
07-11-2019PHP/ООП
Шаблон Proxy достаточно точно отражает назначение в своём названии — заменять обращения к реальному классу через посредника. Proxy-класс ещё иногда называют контейнером. Читать
Шаблон Flyweight (Приспособленец)
07-11-2019PHP/ООП
Приспособленец — структурный шаблон проектирования, который позволяет получать доступ к объектам предотвращая их повторное инстанцирование. Flyweight имеет смысл при работе с множеством мелких однотипных классов, к которым удобно обращаться через единую точку входа. Читать
Шаблон Decorator (Декоратор)
04-11-2019PHP/ООП
Шаблон Decorator используется там, где нужно расширить функциональность существующего класса. Например вы делаете сайт, где используется какой-то компонент (блок, виджет и т.д.). За это отвечает класс компонента. Потом выясняется, что нужно сделать ещё один компонент для другого вывода. Поскольку все компоненты основаны на одном интерфейсе (или абстрактном классе), то проблем нет. И в какой-то момент, вдруг выясняется, что все компоненты должны поддерживать какую-то новую функциональность, например вывод блока оформления до и после самого компонента. Читать
Шаблон Bridge (Мост)
04-11-2019PHP/ООП
Паттерн Bridge представляет собой возможность объединения двух разных интерфейсов так, чтобы каждый из них развивался раздельно. Чтобы понять его назначение, проще всего объяснить на примере Java. Читать
Шаблон Prototype (Прототип)
03-11-2019PHP/ООП
Прототип — порождающий шаблон проектирования. Он используется для клонирования существующего объекта, вместо его инстанцирования с помощью new. Нам повезло, что в PHP уже есть всё необходимое для Prototype — это языковая конструкция clone, которая позволяет упростить реализацию праттерна до одной строчки. Читать
Шаблон Observer (Наблюдатель)
02-11-2019PHP/ООП
Поведенческий шаблон Наблюдатель реализует механизм, с момощью которого один класс может уведомлять другие о своём изменении. Практическая реализация кода может быть разной, но в PHP уже существуют готовые стандартные интерфейсы SplSubject, SplObjectStorage и SplObserver, на которых и принято реализовывать паттерн Observer. Читать
Проблема View в MVC
08-10-2019PHP
Я уже рассказывал, что в свободное время занимаюсь своим микрофреймворком и хочу поделиться некоторыми мыслями по этому поводу. Речь пойдёт о представлениях (view) в концепции MVC, точнее о том, что они на самом деле представляют. Читать
Шаблон проектирования Adapter (адаптер)
07-10-2019PHP/ООП
Суть паттерна отражает его название — использовать два несовместимых между собой класса через некий общий интерфейс. То есть создаётся класс-оболочка, которая скрыто выполняет нужный класс. По своему поведению, Адаптер очень Читать
Создание telegram-бота
23-09-2019Блог
Запустил telegram-бот MaxSiteOrg_bot для своего (этого) сайта. Бот в общем-то больше призван показать возможности ботов как таковых, а также возможную интеграцию с сайтом. Например доступен вывод последних записей, рубрик и меток. Читать