Junior
Aké vzory návrhu poznáte?
sobes.tech AI
Odpoveď od AI
Generátory:
- Singleton: Zaručuje, že existuje iba jedna inštancia triedy a poskytuje k nej globálny prístupový bod.
- Factory Method: Definuje rozhranie pre vytváranie objektu, ale umožňuje podtriedam rozhodnúť, ktorú triedu inštancovať.
- Abstract Factory: Poskytuje rozhranie pre tvorbu rodín súvisiacich alebo závislých objektov, bez špecifikácie ich konkrétnych tried.
- Builder: Čiastočne konštruuje zložitý objekt v krokoch, umožňujúc vytváranie rôznych reprezentácií objektu použitím toho istého procesu konštrukcie.
- Prototype: Vytvára objekty duplikáciou existujúceho vzoru (prototypu), namiesto opakovaného vykonávania konštrukčného procesu.
Štrukturálne:
- Adapter: Prevod rozhrania jednej triedy na iné rozhranie, ktoré očakávajú klienti. Umožňuje spoluprácu tried s nesúladnými rozhraniami.
- Bridge: Oddelí abstrakciu od jej implementácie, umožňujúc ich nezávislú zmenu.
- Composite: Kombinuje objekty do stromových štruktúr pre reprezentáciu hierarchií "časť a celok". Umožňuje klientom pracovať rovnako s jednotlivými objektmi aj s kompozíciami objektov.
- Decorator: Dynamicky pridáva nové zodpovednosti k objektu obalením do špeciálneho dekorátora.
- Facade: Poskytuje zjednotený rozhranie k súboru rozhraní podsystému. Uľahčuje používanie podsystému.
- Flyweight: Používa zdieľané stavové medzi mnohými malými objektmi na zníženie pamäťovej náročnosti a zvýšenie výkonu.
- Proxy: Poskytuje zástupcu objektu, ktorý riadi prístup k originálnemu objektu.
Správanie:
- Chain of Responsibility: Prenáša požiadavku cez reťazec spracovateľov. Každý spracovateľ rozhodne, či požiadavku spracovať alebo ju odovzdať ďalšiemu.
- Command: Zapúzdruje požiadavku ako objekt, čo umožňuje parametrizovať klientov rôznymi požiadavkami, zaradiť požiadavky do fronty alebo ich zaznamenávať.
- Interpreter: Definuje gramatickú reprezentáciu jazyka a obsahuje interpretér na interpretáciu viet v tomto jazyku.
- Iterator: Poskytuje spôsob sekvenčného prístupu ku všetkým prvkom zloženého objektu, bez odhalenia jeho vnútorného reprezentácie.
- Mediator: Definuje objekty, ktoré riadia interakciu medzi sadou iných objektov. Podporuje slabé prepojenie, umožňujúc objektom komunikovať bez priameho odkazovania na seba navzájom.
- Memento: Umožňuje uloženie a obnovenie vnútorného stavu objektu bez narušenia inkapsulácie.
- Observer: Definuje závislosť "jeden ku mnohým" medzi objektmi, takže pri zmene stavu jedného sú všetky závislé objekty upozornené a automaticky aktualizované.
- State: Umožňuje objektu meniť svoje správanie v závislosti od jeho vnútorného stavu. Každý stav je inkapsulovaný v samostatnej triede.
- Strategy: Definuje rodinu algoritmov, inkapsuluje ich a robí ich vzájomne zamieňateľnými. Umožňuje výber algoritmu počas behu.
- Template Method: Definuje kostru algoritmu v operácii, odkladá niektoré kroky na podtriedy. Umožňuje podtriedam definovať kroky algoritmu bez zmeny štruktúry samotného algoritmu.
- Visitor: Predstavuje operáciu, ktorá má byť vykonaná nad prvkami štruktúry objektov. Umožňuje definovať nové operácie bez zmeny tried prvkov, na ktorých pôsobí.