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