Sobes.tech
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: Представља операцију која треба да буде извршена над елементима структуре објеката. Омогућава дефинисање нових операција без промене класа елемената на којима делује.