P8: Aspektovo-orientované programovanie
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 uvádza aspektovo orientované programovanie ako prístup, ktorý presahuje hranice objektovo orientovaného programovania, no praktické ukážky zostávajú v jazyku Java. Úvod sa venuje projektu a hodnoteniu: študenti si môžu vybrať, ktoré doplnkové kritériá (návrhové vzory, lambda výrazy, aspekty) splnia, a majú ich v dokumentácii zvýrazniť čiastkovými diagramami. Následne rekapituluje architektúru Model-View-Controller, ktorú tvoria vzory Observer (oddelenie rozhrania od aplikačnej logiky), Strategy (spracovanie udalostí handlermi) a Composite (hierarchia prvkov GUI). Samotná téma aspektov sa týka prierezových záležitostí, ktoré sa v objektovom návrhu rozptyľujú po viacerých triedach.
- - Aspektovo orientované programovanie presahuje rámec objektovo orientovaného programovania, ale súvisí s ním.
- - Hodnotenie projektu umožňuje vybrať si doplnkové kritériá, pričom body nad maximum sa nezapočítajú.
- - Použitie aspektov, vzorov alebo lambda výrazov v projekte je vhodné zdokumentovať čiastkovými UML diagramami.
- - Model-View-Controller oddeľuje vnútorný model od pohľadov a kontrolér slúži len ako smerovač udalostí bez aplikačnej logiky.
- - Vzor Observer oddeľuje použiteľské rozhranie od aplikačnej logiky, Strategy zodpovedá event handlerom a Composite hierarchii GUI prvkov.
- - Aplikačná logika v kontroléri narúša oddelenie modelu a bráni pridávaniu ďalších pohľadov.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky