Ep. 35 – Návrhové vzory
Návrhové vzory boli pre mňa ďalšia taká dosť mätúca vec, ktorú sme na vysokej škole preberali. Nevedel som pochopiť, na čo mi to je. Buď nám to nebolo dobre vysvetlené, alebo je to taká vec, na ktorú človek jednoudcho musí praxou dozrieť. A tak sme o nich nahrali epizódu, ktorá ti snáď pomôže návrhové vzory pochopiť.
(00:00 – 00:39) – Úvod
(00:40 – 02:59) – Čo sú to návrhové vzory?
(03:00 – 05:49) – Na čo sú dobré?
(05:50 – 07:02) – Singleton
(07:03 – 07:29) – Čo sú to návrhové vzory? – zhrnutie
(07:30 – 09:20) – Na čo sú dobré? V.2
(09:21 – 11:21) – Najprv sa nauč základy OOP
(11:22 – 12:29) – Neuč sa ich naspamäť
(12:30 – 15:55) – Využitie v praxi
(15:56 – 17:30) – Delenie návrhových vzorov
(17:31 – 19:38) – Facade
(19:39 – 22:38) – Máš sa ich učiť? Môžu sa vyskytnúť na pohovore?
(22:39 – 27:32) – Nevýhody návrhových vzorov
(27:33 – 29:21) – Zhrnutie
(29:22 – 30:26) – Rada do života ohľadom návrhových vzorov
(30:27 – 31:37) – Záver
Čo sú to návrhové vzory?
- sú to spísané riešenia na problémy, ktoré sa často objavujú pri navrhovaní OOP softvéru
- nie sú to kúsky kódu, ktoré skopíruješ a máš hotové
- skôr sú to pomôcky, ktoré ti povedia, akým spôsobom vieš prepojiť alebo štrukturovať objekty v OOP
Na čo sú návrhové vzory dobré?
- vedia urýchliť vývoj
- pomáhajú k čitatelnejšiemu kódu – pretože sa využíva niečo zaužívané a jednotné čo všetci poznajú
- jednoduchšia komunikácia – “použi tam factory” je jednoduchšie a kratšie ako “Sprav si tam abstraktnú triedu, ktorá ti bude vytvárať inštancie tohto objektu. Bude vlastne nahrádzať rôzne konštruktory…”
Musíš ich vedieť?
- netreba ich vedieť naspamäť
- je veľmi dobré vedieť, že niečo také existuje a čo to približne je
- raz si ich poriadne prejdi, skús ich ako tak pochopiť – v budúcnosti si na ne potom ľahšie spomenieš, keď ti ich bude treba
- na pohovore sa ťa na ne môžu pýtať, ale vtedy stačí ak ich aspoň zopár poznáš
Delenie návrhových vzorov
- vytvárajúce (creational) – riešia ako sa objekty vytvárajú – napr. singleton, builder, factory method
- štrukturálne (structural) – zlúčenie (kompozícia), delenie a dedenie tried – napr. adapter, facade, bridge
- behaviorálne (behavioural) – zaoberajú sa komunikáciou medzi objektami – napr. visitor, observer, mediátor
Nevýhody návrhových vzorov
- pre začínajúceho programátora môžu byť komplikované a nezmyselné
- programátor môže mať svoje 2 obľúbené vzory a bude ich všade používať – aj tam, kde sa vôbec nehodia
- ľahké zneužívanie vo všeobecnosti
Kniha o návrhových vzoroch z roku 1994! – na Amazone
Pekne spracované návrhové vzory – refactoring.guru