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.

7. 8. 2005, 10:28

RSS komentářů k článku Komentáře


houba

7. 8. 2005, 13:00

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

7. 8. 2005, 14:13

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

7. 8. 2005, 20:21

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...

stein@tiscali.cz

Rene

7. 8. 2005, 21:47

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.pichlik@asei.cz

Roman Dagi Pichlik

8. 8. 2005, 9:09

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@seznam.cz

David Majda

8. 8. 2005, 12:26

[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 :)


Přidat komentář

Komentáře k článkům starším než měsíc jsou automaticky uzavřeny. Pokud mi chcete něco sdělit, využijte sekci kontakt.