Junior
Koje obrasce dizajna poznajete?
sobes.tech АИ
Одговор од АИ
Генеричке:
- Singleton: Гарантује постојање само једног примерка класе и пружа глобалну тачку приступа њему.
- Factory Method: Дефинише интерфејс за креирање објекта, али омогућава подкласи да одлуче који ће класе инстанцирати.
- Abstract Factory: Пружа интерфејс за креирање породица повезаних или зависних објеката, без спецификације њихових конкретних класа.
- Builder: Делимично гради сложен објекат у корацима, омогућавајући стварање различитих приказа објекта коришћењем истог процеса грађења.
- Prototype: Креира објекте дуплирањем постојећег примерка (прототипа), уместо да поново извршава процес грађења.
Структурне:
- Adapter: Претвара интерфејс једне класе у други интерфејс који очекују клијенти. Омогућава сарадњу класа са несагласним интерфејсима.
- Bridge: Одваја апстракцију од њене имплементације, омогућавајући им да се мењају независно.
- Composite: Комбинује објекте у дрвету структуре за представљање хијерархија "дело-целина". Омогућава клијентима да раде једнако са појединачним објектима и композицијама објеката.
- Decorator: Динамично додаје нове одговорности објекту обмотавањем у специјални декоратор.
- Facade: Пружа уједињени интерфејс за скуп интерфејса подсистема. Олакшава коришћење подсистема.
- Flyweight: Користи делимоће стање између много малих објеката како би смањио потрошњу меморије и повећао перформансе.
- Proxy: Пружа замену за објекат који управља приступом оригиналном објекту.
Поведени:
- Chain of Responsibility: Преноси захтев кроз ланац обрађивача. Свaki обрађивач одлучује да ли ће обрадити захтев или га проследити следећем.
- Command: Инкапсулира захтев као објекат, омогућавајући параметризовање клијената различитим захтевима, стављање захтева у ред или вођење дневника.
- Interpreter: Дефинише граматичку репрезентацију за језик и садржи интерпретатор за интерпретацију реченица у том језику.
- Iterator: Пружа начин за секвенцијални приступ свим елементима сложеног објекта, без откривања његове унутрашње структуре.
- Mediator: Дефинише објекте који управљају интеракцијом између сета других објеката. Подржава слабу везаност, омогућавајући објектима да комуницирају без јасних референци једни на друге.
- Memento: Омогућава чување и враћање унутрашњег стања објекта без нарушавања инкапсулације.
- Observer: Дефинише зависност "један према много" између објеката, тако да када се стање једног промени, сви зависни објекти буду обавештени и аутоматски ажурирани.
- State: Омогућава објекту да мења своје понашање у зависности од унутрашњег стања. Сваки статус је инкапсулиран у посебну класу.
- Strategy: Дефинише породицу алгоритама, инкапсулира их и чини их међусобно заменљивим. Омогућава избор алгоритма током извршавања.
- Template Method: Дефинише скелет алгоритма у операцији, одлажући неке кораке на подкласе. Омогућава подкласа да дефинише кораке алгоритма без промене структуре самог алгоритма.
- Visitor: Представља операцију која треба да буде извршена над елементима структуре објеката. Омогућава дефинисање нових операција без промене класа елемената на којима делује.