Junior
Кои шаблони за дизайн знаете?
sobes.tech AI
Отговор от AI
-
Порождаващи
- Фабричен метод (начин за създаване на обекти чрез фабричен метод, а не директно чрез конструктор)
- Абстрактна фабрика (интерфейс за създаване на семейства от свързани обекти без да се посочват конкретните им класове)
- Строител (стъпково създаване на сложни обекти, позволяващо получаване на различни варианти на обекта, използвайки един и същ код за строителство)
- Прототип (създаване на нови обекти чрез копиране на съществуващ образец)
- Одиночка (гарантира наличието само на един екземпляр на класа и предоставя глобална точка за достъп до него)
-
Структурни
- Адаптер (позволява обекти с несъвместими интерфейси да работят заедно)
- Мост (разделя абстракцията и реализацията, позволявайки им да се променят независимо)
- Компоновчик (позволява да се третират отделни обекти и техните групи по един и същ начин)
- Декоратор (динамично добавя нови отговорности към обекти)
- Фасад (предоставя унифициран интерфейс към набор от интерфейси на подсистемата)
- Приспособленец (ефективно управлява голям брой малки обекти)
- Заместител (предоставя заместител на обект, който контролира достъпа до него)
-
Поведенчески
- Цепка на отговорности (предава заявки по веригата от обработващи)
- Команда (инкапсулира заявка като обект, позволявайки параметризиране на клиенти, поставяне на заявки в опашка, логване и поддръжка на отменяне)
- Итератор (предоставя начин за последователен достъп до всички елементи на съставен обект, без да разкрива вътрешната му структура)
- Посредник (улеснява взаимодействието между множество обекти чрез въвеждане на посреднически обект)
- Хранител (позволява запазване и възстановяване на вътрешното състояние на обекта, без да нарушава инкапсулацията му)
- Наблюдател (определя зависимост "един към много" между обекти, така че при промяна на състоянието на един, всички зависими да бъдат уведомени и актуализирани)
- Състояние (позволява на обекта да променя поведението си в зависимост от вътрешното си състояние)
- Стратегия (определя семейство алгоритми, инкапсулира всеки от тях и ги прави взаимозаменяеми)
- Шаблонен метод (в базовия клас определя скелета на алгоритъм в метода, позволявайки на подкласовете да пренаписват някои стъпки без да променят цялостната структура)
- Посетител (позволява добавяне на нови операции към йерархията от класове без да се променят самите класове)
В Android разработката често се използват MVx шаблони (MVP, MVVM), както и шаблони от библиотеката Android Architecture Components (Room, ViewModel, LiveData, Navigation).