Покажите короткий пример по теме «Decorator» и объясните, что здесь важно.

PHPMiddleOOP and ArchitectureТеорияphpoopdecoratorphp-backend-developeroop-and-architecture

Что хотят услышать интервьюеры:

Короткий пример по теме Decorator:

Ответ:

<?php final class CachedUserRepository implements UserRepository {}

Что важно: код должен быть безопасным, читаемым и соответствовать контракту задачи. Для PHP-разработчика важно объяснить не только «как написать», но и «почему так безопаснее/надежнее».

  • подходит для кеширования, логирования, ретраев
  • сохраняет интерфейс
  • важен в Symfony middleware

Типичная ошибка: делать декораторы, которые меняют контракт и удивляют клиента.

На собеседовании: проговорите, какие edge cases вы бы проверили тестами и что бы логировали при ошибке.

Источники

Похожие вопросы