Middle
69
questionbank

Какие паттерны проектирования вы знаете?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  • Порождающие:
    • Фабричный метод: Создание объектов через интерфейс без указания конкретного класса.
    • Абстрактная фабрика: Создание семейств связанных или зависимых объектов без указания их конкретных классов.
    • Строитель: Пошаговое создание сложного объекта, позволяющее использовать тот же строительный код для получения разных представлений объекта.
    • Прототип: Создание новых объектов путём копирования существующих.
    • Одиночка: Гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру.
  • Структурные:
    • Адаптер: Преобразует интерфейс одного класса в другой, который ожидают клиенты.
    • Мост: Разделяет абстракцию и реализацию таким образом, чтобы они могли изменяться независимо.
    • Компоновщик: Позволяет группировать объекты в древовидные структуры для представления иерархий часть-целое.
    • Декоратор: Динамически добавляет новые обязанности объекту, оборачивая его в объекты-декораторы.
    • Фасад: Предоставляет упрощённый интерфейс к сложной подсистеме.
    • Приспособленец: Позволяет уместить в памяти большое количество мелких объектов, разделяя их общее состояние.
    • Заместитель: Предоставляет суррогат или заполнитель для другого объекта для контроля доступа к нему.
  • Поведенческие:
    • Цепочка обязанностей: Позволяет передавать запросы последовательно по цепочке обработчиков.
    • Команда: Превращает запрос в самостоятельный объект, содержащий всю информацию о запросе.
    • Итератор: Предоставляет способ последовательного доступа ко всем элементам составного объекта, не раскрывая его внутреннего представления.
    • Посредник: Определяет объект, инкапсулирующий способ взаимодействия набора объектов.
    • Хранитель: Позволяет сохранить и восстановить прошлое состояние объекта, не раскрывая деталей его реализации.
    • Наблюдатель: Определяет зависимость типа "один ко многим" между объектами так, что при изменении состояния одного объекта все зависящие от него оповещаются и автоматически обновляются.
    • Состояние: Позволяет объекту изменять своё поведение в зависимости от внутреннего состояния.
    • Стратегия: Определяет семейство алгоритмов, инкапсулирует каждый из них и делает их взаимозаменяемыми.
    • Шаблонный метод: Определяет скелет алгоритма в операции, оставляя подклассам определение некоторых шагов алгоритма.
    • Посетитель: Представляет операцию, которая должна быть выполнена над элементами структуры объектов.

Знаком также с антипаттернами и принципами SOLID.