L3: Aspect-Oriented Design Patterns
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Prednáška o aspektovo orientovaných návrhových vzoroch v jazyku AspectJ. Po krátkom úvode o vzoroch (pôvodne z architektúry od Christophera Alexandera, v softvéri najznámejšie Gang of Four) sa venuje vzoru Worker Object Creation, nazývanému aj Proceed Object. Na príklade sa ukazuje, ako bez zásahu do pôvodného kódu zmeniť poradie volaní metódy podľa hodnoty argumentu. Volania sa zachytia advice typu around bez zavolania proceed, proceed sa zabalí do objektu, uloží sa do prioritnej fronty s vlastným kritériom usporiadania a nakoniec ich advice typu after vykoná v požadovanom poradí. Vzor je predstavený v zovšeobecnenej schéme a jeho problém je opísaný ako konflikt protichodných síl.
- - Návrhové vzory riešia opakujúce sa problémy a aspektovo orientované vzory vychádzajú z prostriedkov, ktoré jazyk ponúka.
- - Aj ojedinelé použitie vzorov (observer, visitor) zvyšuje rozšíriteľnosť a pomáha dodržať princíp open-closed.
- - Worker Object Creation (Proceed Object) umožní odložiť a neskôr vykonať zachytené volanie.
- - Volanie sa zachytí advice around, ktorý nezavolá proceed, ale zabalí ho do objektu.
- - Uložené objekty sa dajú zoradiť v prioritnej fronte s vlastným kritériom a vykonať v novom poradí.
- - Advice after prechádza frontu a spúšťa uložené volania; kód za pôvodnými volaniami sa vykoná skôr.
- - Podstatou vzoru je vloženie proceed do objektu, spôsob jeho ďalšej manipulácie nie je dôležitý.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky