190 likes | 286 Views
Proč programovat v LS objektově. Jiří Krákora, Alliance Healthcare. Princip. Rozdíl. Perzistentní vs. Transientní Kompaktní vs. Modulární Jednoúčelový vs. Univerzální. Objekt jako dílek stavebnice Lego. Atributy OOP. Modulárnost aplikace Znovupoužitelnost modulů
E N D
Proč programovat v LS objektově Jiří Krákora, AllianceHealthcare
Rozdíl Perzistentní vs. Transientní Kompaktní vs. Modulární Jednoúčelový vs. Univerzální
Atributy OOP • Modulárnost aplikace • Znovupoužitelnost modulů • Přenositelnost funkcí • Abstrakce problému • Zapouzdření algoritmů • Čitelnost kódu • Dědění tříd • Single responsibility
Příklad Pracuji se zapouzdřeným dílkem stavebnice, který je obecně použitelný, lehce přenositelný a pro nezúčastněného i lehce čitelný…
Abstrakce • Třída je architektonický plán • Vidím výslednou aplikaci, atomizovanou na množinu logických celků • Logické celky řeším samostatně, bez ohledu na zbytek aplikace • Každý problém abstrahuji a řeším v obecné rovině
Dědění • Každý objekt může mít libovolný počet potomků • Všichni potomci dědí vlastnosti i metody rodičovského objektu • Potomci rozšiřují funkcionalitu rodiče, nebo mění vnitřní strukturu
Single responsibility • Princip jedné odpovědnosti • Každý objekt by měl být zodpovědný za jednu konkrétní věc • Očekávané služby by měly být spjaty s touto odpovědností • Důvodem je větší robustnost tříd s jednou odpovědností
OOP je běh na dlouhou trať… … ale čím déle běžíte, tím se vám běží lépe