PHP/ООП
Понимание ООП на примере Паскаля
05-06-2020PHP/ООП
В продолжении предыдущей темы, что база программирования важнее самого языка, покажу на примере Turbo Pascal 7.0, что такое объекты в объектно-ориентированном программировании. (Чтобы было понятно, ООП в Паскале появился в 1989 году в версии TP 5.5.) Read
Dependency injection (внедрение зависимости)
20-11-2019PHP/ООП
Dependency injection (внедрение зависимости) — одна из самых загадочных и запутанных тем для программистов. С одной стороны DI можно описать конкретным php-кодом, но потом выяснится, что он повторяет существующий паттерн программирования. И тогда мы начинаем пускаться в абстракцию, пытаясь хоть как-то объяснить принципиальные различия. Read
Шаблон «Template method» (Шаблонный метод)
08-11-2019PHP/ООП
Основное назначение Template method — выделить из основного класса какие-то операции, которые могут быть выполнены классами-наследниками. Read
Шаблон Proxy (Заместитель)
07-11-2019PHP/ООП
Шаблон Proxy достаточно точно отражает назначение в своём названии — заменять обращения к реальному классу через посредника. Proxy-класс ещё иногда называют контейнером. Read
Шаблон Flyweight (Приспособленец)
07-11-2019PHP/ООП
Приспособленец — структурный шаблон проектирования, который позволяет получать доступ к объектам предотвращая их повторное инстанцирование. Flyweight имеет смысл при работе с множеством мелких однотипных классов, к которым удобно обращаться через единую точку входа. Read
Шаблон Decorator (Декоратор)
04-11-2019PHP/ООП
Шаблон Decorator используется там, где нужно расширить функциональность существующего класса. Например вы делаете сайт, где используется какой-то компонент (блок, виджет и т.д.). За это отвечает класс компонента. Потом выясняется, что нужно сделать ещё один компонент для другого вывода. Поскольку все компоненты основаны на одном интерфейсе (или абстрактном классе), то проблем нет. И в какой-то момент, вдруг выясняется, что все компоненты должны поддерживать какую-то новую функциональность, например вывод блока оформления до и после самого компонента. Read