Sobes.tech
Middle

Кои шаблони за дизайн знаете?

sobes.tech AI

Отговор от AI

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

Също така запознат с антипатерни и принципи SOLID.