P7: Kvalitný objektovo-orientovaný návrh

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 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.