Hodnotenie:
Táto kniha je považovaná za základnú a nadčasovú príručku pre vývojárov softvéru, najmä so zameraním na návrhové vzory. Mnohí recenzenti vyzdvihujú jej význam pre rôzne programovacie paradigmy a jej hĺbkové skúmanie vzorov. Niektorí však upozorňujú, že kniha je zastaraná a obsahuje príklady predovšetkým v jazykoch C++ a Smalltalk, ktoré nemusia mať odozvu v novších jazykoch, ako je Python. Celkovo je však považovaná za kľúčový zdroj informácií pre serióznych vývojárov, ktorí chcú zlepšiť svoje zručnosti v oblasti softvérovej architektúry.
Výhody:⬤ Dobre napísané a nevyhnutné na pochopenie návrhových vzorov softvéru.
⬤ Nadčasové koncepty, ktoré sú relevantné pre všetky programovacie paradigmy.
⬤ Podrobný prieskum návrhových vzorov so zdôraznenými výhodami a nevýhodami.
⬤ Užitočné pri prechode od nízkoúrovňového programovania k vysokoúrovňovej softvérovej architektúre.
⬤ Kvalitné tlačené vydanie s dobrými diagramami.
⬤ Neaktuálne príklady zamerané najmä na C++ a Smalltalk.
⬤ Štýl písania môže pôsobiť akademicky a sucho, takže je ťažké zaujať.
⬤ Niektorí čitatelia považujú knihu za príliš zložitú pre začiatočníkov; na úplné pochopenie materiálu je potrebné viacero čítaní.
⬤ Dlhé diskusie sa môžu zdať v modernom kontexte zbytočné.
⬤ Nedostatok príkladov moderného programovania môže pre niektorých čitateľov obmedzovať praktické využitie.
(na základe 680 čitateľských recenzií)
Design Patterns: Elements of Reusable Object-Oriented Software
Štyria špičkoví dizajnéri, ktorí majú bohaté skúsenosti s návrhom objektovo orientovaného softvéru, predstavujú katalóg jednoduchých a stručných riešení bežne sa vyskytujúcich problémov pri návrhu. Týchto 23 vzorov, ktoré predtým neboli zdokumentované, umožňuje návrhárom vytvárať flexibilnejšie, elegantnejšie a v konečnom dôsledku opakovane použiteľné návrhy bez toho, aby museli sami znovu objavovať návrhové riešenia.
Autori na začiatku opisujú, čo sú vzory a ako vám môžu pomôcť pri navrhovaní objektovo orientovaného softvéru. Potom pokračujú systematickým pomenovaním, vysvetlením, vyhodnotením a katalogizáciou opakujúcich sa vzorov v objektovo orientovaných systémoch. S návrhovými vzormi ako sprievodcom sa dozviete, ako tieto dôležité vzory zapadajú do procesu vývoja softvéru a ako ich môžete využiť na čo najefektívnejšie riešenie vlastných návrhových problémov.
Každý vzor opisuje okolnosti, za ktorých je použiteľný, kedy ho možno použiť vzhľadom na iné obmedzenia návrhu a dôsledky a kompromisy použitia vzoru v rámci väčšieho návrhu. Všetky vzory sú zostavené zo skutočných systémov a sú založené na reálnych príkladoch. Každý vzor obsahuje aj kód, ktorý ukazuje, ako ho možno implementovať v objektovo orientovaných programovacích jazykoch, ako je C++ alebo Smalltalk.