P7: Kvalitný objektovo-orientovaný návrh
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 sa venuje kvalite objektovo-orientovaného návrhu na príklade hry s obrami a rytiermi, ktorá sa rozširovala bez zmeny existujúceho kódu. Vysvetľuje polymorfizmus, vďaka ktorému príkaz na útok funguje pre akéhokoľvek rytiera a obra, a modulárne rozširovanie programu novými triedami namiesto úprav existujúcich. Zapuzdrenie (modifikátory public, private, protected a package access) označuje prvky určené na rozširovanie a chráni klienta pred zmenami vnútornej reprezentácie, pričom autor si ponecháva právo interné časti meniť. Vzor Visitor umožnil pridať rytierovi nové správanie pri boji s mečom bez zmeny jeho triedy, čo ilustruje princíp otvorenosti a uzavretosti: otvorenosť pre rozšírenie, uzavretosť pre zmeny.
- - Polymorfizmus umožňuje flexibilné programovanie: útok funguje pre ľubovoľného rytiera a obra.
- - Program sa má rozširovať modulárne, novými triedami, nie úpravou existujúcich tried a metód.
- - Zapuzdrenie (public, private, protected, package access) chráni klienta pred zmenami vnútornej reprezentácie.
- - Private neznamená ochranu pred úpravami, ale pred využitím; autor môže interné časti kedykoľvek zmeniť.
- - Vzor Visitor pridáva nové operácie objektom bez zmeny ich tried.
- - Princíp otvorenosti a uzavretosti: otvorenosť pre rozšírenie, uzavretosť pre zmeny.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky