Sobes.tech
Junior

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

sobes.tech AI

Отговор от AI

  • Порождаващи

    • Фабричен метод (начин за създаване на обекти чрез фабричен метод, а не директно чрез конструктор)
    • Абстрактна фабрика (интерфейс за създаване на семейства от свързани обекти без да се посочват конкретните им класове)
    • Строител (стъпково създаване на сложни обекти, позволяващо получаване на различни варианти на обекта, използвайки един и същ код за строителство)
    • Прототип (създаване на нови обекти чрез копиране на съществуващ образец)
    • Одиночка (гарантира наличието само на един екземпляр на класа и предоставя глобална точка за достъп до него)
  • Структурни

    • Адаптер (позволява обекти с несъвместими интерфейси да работят заедно)
    • Мост (разделя абстракцията и реализацията, позволявайки им да се променят независимо)
    • Компоновчик (позволява да се третират отделни обекти и техните групи по един и същ начин)
    • Декоратор (динамично добавя нови отговорности към обекти)
    • Фасад (предоставя унифициран интерфейс към набор от интерфейси на подсистемата)
    • Приспособленец (ефективно управлява голям брой малки обекти)
    • Заместител (предоставя заместител на обект, който контролира достъпа до него)
  • Поведенчески

    • Цепка на отговорности (предава заявки по веригата от обработващи)
    • Команда (инкапсулира заявка като обект, позволявайки параметризиране на клиенти, поставяне на заявки в опашка, логване и поддръжка на отменяне)
    • Итератор (предоставя начин за последователен достъп до всички елементи на съставен обект, без да разкрива вътрешната му структура)
    • Посредник (улеснява взаимодействието между множество обекти чрез въвеждане на посреднически обект)
    • Хранител (позволява запазване и възстановяване на вътрешното състояние на обекта, без да нарушава инкапсулацията му)
    • Наблюдател (определя зависимост "един към много" между обекти, така че при промяна на състоянието на един, всички зависими да бъдат уведомени и актуализирани)
    • Състояние (позволява на обекта да променя поведението си в зависимост от вътрешното си състояние)
    • Стратегия (определя семейство алгоритми, инкапсулира всеки от тях и ги прави взаимозаменяеми)
    • Шаблонен метод (в базовия клас определя скелета на алгоритъм в метода, позволявайки на подкласовете да пренаписват някои стъпки без да променят цялостната структура)
    • Посетител (позволява добавяне на нови операции към йерархията от класове без да се променят самите класове)

В Android разработката често се използват MVx шаблони (MVP, MVVM), както и шаблони от библиотеката Android Architecture Components (Room, ViewModel, LiveData, Navigation).