Сайт вебмастера

Организация CSS-кода

Как правильно сгенерировать css-файлы, чтобы они положительно влияли на загрузку и при этом с ними удобно было бы работать? Такой вопрос неизбежно задаёт себе каждый верстальщик. Когда мы делаем какой-то свой личный проект, проблема не особо актуальна, но если речь идёт о чем-то публичном, то она обостряется. Читать ➝

Dependency injection (внедрение зависимости)

20-11-2019PHP/ООП
Dependency injection (внедрение зависимости) — одна из самых загадочных и запутанных тем для программистов. С одной стороны DI можно описать конкретным php-кодом, но потом выяснится, что он повторяет существующий паттерн программирования. И тогда мы начинаем пускаться в абстракцию, пытаясь хоть как-то объяснить принципиальные различия. Читать ➝

Шаблон «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. Читать ➝