Design patterns - velký humbuk?

Známá kniha o návrhových vzorech Design Patterns od GoF (Gang of Four; Erich Gamma, Richard Helm, Ralph Johnson a John Vlissides) byla oceněna ACM za "významný a trvalý přínos na poli programovacích jazyků". Je docela zajímavé sledovat, jaké odmítavé reakce tato skutečnost vyvolala:

Ned Batchelder oproti tomu píše o návrhových vzorech o mnoho mírněji a v podstatě říká, že návrhové vzory jsou nová úroveň abstrakce, ve které nyní programátoři přemýšlí o programech (předtím to byly postupně strojové a assemblerové instrukce, jednotlivé příkazy, funkce a třídy).

Můj názor? Tak před rokem jsem chtěl přijít na to, co na návrhových vzorech je, a tak jsem asi za půl hodiny zběžně prolétl jakousi knížku o nich. Bohužel už nevím kterou. Každopádně se mi všechno zdálo jen jako shrnutí věcí, které už dávno používám nebo jsem už někde viděl. Jako jediný zajímavý a netriviální vzor mi přišel jen Decorator (který je mimochodem docela hezky použitý v Javovském IO).

Nemůžu si pomoct, ale povídání o nové úrovni abstrakce se mi jeví jako přehnané a jediný větší přínos návrhových vzorů se mi zdá být sjednocení terminologie. A pokud je to jediný důvod, proč návrhové vzory existují, tak mi uniká, proč je kolem nich všude takový humbuk.

Aug 7, 2005 – 10:28

Comments

houba
houba
Možná proto, že každý se nerodí takovým géniem jako ty, a raději si v klidu a rychle nastuduje již předkousanou a ověřenou metodu, než si znovu a znovu metodou pokus-omyl a dlouhým vývojem s odstraňováním chyb přišel na to, co si může prostě přečíst hotové v knize.
Ale je pochopitelné, že pro lidi jako ty, co se asi narodili s tím, že mají Observer v krvi, je to jen humbuk pro plebs s intelektuálním nedostatkem...
Brennan
Souhlasim si tim, ze kolem design patterns je prilis velky humbuk.

Kazdy programator, ktery premysli v OOP, spoustu z tech popsanych vzoru pouziva zcela intuitivne, aniz by kdy musel takto sepsane vzory cist.

Ale priznavam, ze neni na skodu si je precist ...
dgx
dgx
Tak jsi mě donutil si nějaké info o Design Patterns vyhledat a zjistit, vo-co-go. Už jsem si připadal jako ignorant, každý o tom píše...
Rene
Docela bych rad vide priklady aplikaci, kde navrhove vzory pouzivate.
Sila navrhovych vzoru neni v popisnem vykladu, kde jsou jako izolovane jednotky co nejvice oprosteny od kontextu kvuli didaktickemu zameru autoru, ale v jejich synergii a skladani v realnem projektu.

Samozrejme, ze po urcite dobe praxe zacnete pouzivat struktury vzoru intuitivnem ale neverim, ze ihned vytvarite kvalitni navrhy vyuzivajici vzory (Macro) Command s podporou undo a redo operaci nebo ze spojujete objekty v Chain Of Responsibility. Navic vam chybi jednotna terminologie pri komunikaci v tymu...

BTW: navrhove vzory nejsou jen GoF vzory, doporucuji se podivat na knihy z edice Patterns Oriented Software Architecture, na Analysis Patterns Martina Fowlera nebo na Enterprise vzory od stejneho autora.

Trochu "esejisticky" jsem se obecne nad limity OOP zasad zamyslel zde

http://blog.renestein.net/PermaLink,guid,c14eb164-0f16-4c45-9909-136b6acc1ff6.aspx

O proměnách kontextu návrhových vzorů jsem psal zde

http://blog.renestein.net/PermaLink,guid,5bf7770f-0359-417e-8f5a-bdb395583084.aspx

Roman Dagi Pichlik
Je pravda, ze nektere vzory clovek pouziva a ani o tom nevi napr. singleton, factory method, observer a potom mu prijde, ze DP vlastne neprinasi nic svetoborneho, coz je samozrejme nesmysl. Je to presne tak jak pise Rene a pokud vam Davide prece jenom prijdou vzory GoF tak nezajimave, doporucuji se podivat na enterprise vzory jako je napriklad DAO nebo IoC.
David Majda
[4]: Nevyvíjím aplikace tak, že bych používal vzory nějak cíleně, prostě vždy řeším daný problém nějakou metodou. Jestli jsou vzniklé návrhy kvalitní či ne je otázka s použitím vzorů ortogonální.

Terminologický a kodfikační aspekt vzorů uznávám, proti tomu vůbec nic.

BTW zajímvé čtení.

[4][5] Dík za doporučení, na ty enterprise vzory se někdy podívám. GoF vzory mě doteď přesvědčily o tom, že nemá smysl se celými design patterns nějak hlouběji zabývat, ale zdá se, že celá takhle oblast je bohatší, než jsem myslel.

Mám chuť k tomu celému ještě něco říct, ale odpustím si to a případně to řeknu, až budu informovanější a budu si jistý, že ta myšlenka není blbost.

P.S.: Mě tady můžete tykat, tak starý ani moudrý, abych si zasloužil vykání, nejsem :)

Add comment

It is not possible to add comments to posts older than one month.