L8: Aspect-Oriented Modularization

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

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.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Prednáška sa začína organizačným úvodom: prednášajúci informuje o pripravovaných protestoch proti zásahom do autonómie univerzít, o rektorskom voľne 16. novembra a o zrušení tamojšej prednášky o distribuovanej softvérovej architektúre, namiesto ktorej študenti dostanú nahrávku z minulého roka. Hlavná téma je aspektovo orientovaná modularizácia softvéru, teda spôsob, ako zmeniť správanie programu bez priamej úpravy jeho kódu. Zmena prierezovo zasahujúca do viacerých častí programu (napríklad logovanie, bezpečnosť či súkromie) sa zapíše do jedného modulu, aspektu. Na hre o bojoch rytierov a obrov ukazuje pridanie štítov jediným súborom: aspekt pridáva atribút do triedy, checkbox do používateľského rozhrania a pomocou rady around zachytáva volanie metódy revenge v bode spájania, čím protiútok zablokuje.

  • - Aspektovo orientovaný prístup umožňuje meniť správanie programu bez priamej modifikácie pôvodného kódu.
  • - Prierezové záležitosti (logovanie, bezpečnosť, súkromie) zasahujú do mnohých miest programu a aspekt ich zoskupí do jedného modulu.
  • - Správa verzií nenahrádza aspekt, lebo zmena rozptýlená na viacerých miestach v nej nie je viditeľná ako jeden celok.
  • - Rada around zachytí bod spájania (join point) vo vykonávaní programu a rozhodne, či sa pôvodný kód vykoná.
  • - V príklade hry s rytiermi a obrami sa štíty pridali jedným aspektovým súborom, ktorý zasiahol dokonca aj do používateľského rozhrania.
  • - Pridanie prvku (atribút, checkbox) ešte nestačí, treba ho aktivovať zásahom do miest, kde sa objekty vytvárajú a kde sa program spúšťa.
  • - Prednáška 16. novembra odpadá pre rektorské voľno; študenti dostanú nahrávku z minulého roka.

Zhrnutie pripravené s pomocou AI z prepisu videa.