Existuje kanonická kniha o designových vzorech? [uzavřeno]

Komentáře

  • I ' si nejsem jistý, jestli je to to, co ' přemýšlím o tom, ale na Forrst najdu spoustu chytrých vývojových věcí.
  • Co takhle název " Referenční zdroje pro návrhové vzory

nebo " Zdroje návrhového vzoru " (protože nemám ' neznamená " odkaz " jako " vyhledat na vyžádání ") a přesunout všechny položky seznamu do těla (nebo je odebrat)?

  • .NET Design Vzor a architektonické pokyny
  • U některých slušných implementací jsem se podíval na ty v dofactory (ne ' knihy si nekupuji).
  • Vzhledem k tomu, že tato otázka obdržela úplnou a komplexní odpověď, jsem ' zavřel další návrhové vzory jsou duplikáty tohoto a označují jej jako kanonickou dvojici Q & A a odpověď pro toto téma.
  • Odpovědět

    Návrhové vzory: Prvky opakovaně použitelného objektově orientovaného softwaru se velmi blíží mé definici kanonické knihy o návrhových vzorech. Podle jejího článku na wikipedii (důraz můj):

    Původní datum vydání kniha byla vydána 21. října 1994 s autorskými právy z roku 1995 a od července 2010 byla kniha ve svém 38. tisku . Kniha byla poprvé zpřístupněna veřejnosti na setkání OOPSLA v Portlandu v Oregonu v říjnu 1994. Měla velký vliv na oblast softwarového inženýrství a je považována za důležitý zdroj pro objektově orientovanou teorii a praxi designu. Více než 500 000 výtisků bylo prodáno v angličtině a ve 13 dalších jazycích .

    Ward Cunningham , průkopník v oblasti návrhových vzorů, udržuje online katalog vzorů knihy na WikiWikiWeb . A podle článku na Wikipedii o návrhovém vzoru (opět důraz na mně):

    Designové vzory získaly popularitu v počítačové vědě po vydání knihy Design Patterns: Elements of Reusable Object-Oriented Software v roce 1994 takzvaným „Gangem čtyř“ (Gamma et al.).

    V stejný článek , jaký je v žánru pozoruhodný:

    Z těch, které jsem četl Fowlerovu knihu, je to velmi vlivné a dobré čtení. V určitých bodech je to na můj vkus trochu vágní, ale celkově je to příjemná kniha. V knize je online katalog vzorů obsažených v knize s minimálním popisem.

    Procházel jsem také návrhové vzory Head First a pokud jste si přečetli jakoukoli jinou knihu ze série Head First, je stejně kvalitní a stejně zábavný jako většina knih ze série :

    Head First je řada úvodních instruktážních knih k mnoha tématům, vydané nakladatelstvím „Reilly Media. Zdůrazňuje neortodoxní, vizuálně intenzivní a čtenářskou kombinaci hádanek, vtipů, nestandardního designu a rozvržení a poutavého konverzačního stylu, který ponoří čtenáře do daného tématu.

    Termín „designový vzor“ je poněkud vágní, protože každé obecné opakovaně použitelné řešení lze považovat za designový vzor. Vždy jsem si všiml tendence aplikovat štítek na řešení popsaná v jednom z pozoruhodných knih, které jsem uvedl výše, konkrétněji knihy Gang of Four a Fowler. Návrhové vzory nenásledují jedinečný vývojový proces, jsou běžným softwarovým řešením které jsou nesmírně opakovaně použitelné a je extrémně obtížně identifikovatelné .

    Pokud ale porovnáte online katalogy pro obě knihy s obsahem jazykově specifických knih, všimnete si, že jsou často používány jako šablony. Řekl bych tedy, že obě knihy jsou velmi blízké kanonice. odkazy, přičemž kniha GoF je z historického hlediska nejdůležitější, přestože obě knihy jsou omezeny na objektově orientované programování .

    Komentáře

    • +1. Vlastně jsem vám chtěl dát +5, ale bohužel to ' není povoleno.
    • Celá řada softwarové architektury orientované na vzory je o vzorech v různých typech systémů – Svazek 1 je o architektonických vzorech a vzorech, které protínají domény, Svazek 2 je o souběžných systémech, Svazek 3 je o správě zdrojů v síťových / distribuovaných systémech, Svazek 4 je o distribuovaných systémech a Svazek 5 je také o vzorových jazycích jako reference pro další 4 svazky. Vzhledem k otázce se domnívám, že by mohl být použitelný i svazek 5, ale ' jsem s ním nestrávil příliš mnoho času … zatím.
    • @Yannis tenhle a první je obecně založen na jazycích se statickým zadáním. Existují nějaké dobré knihy pro dynamické jazyky, jako je python.
    • @ ravi404 norvig.com/design-patterns

    Odpověď

    Kniha Gang čtyř – Návrhové vzory: prvky opakovaně použitelného objektu – Orientovaný software je pravděpodobně nejbližší věc, kterou máme k průmyslovému standardu v návrhových vzorech.

    Pro přístupnější úvod Head First: Design Vzory jsou také dobré. Nenechte se odradit „trendy“ obálkou, protože je to dobré čtení a pravděpodobně vám pomůže mnohem lépe uchopit pojmy v knize GoF, pokud si ji přečtete jako první.

    Odpověď

    mg src = „https://i.stack.imgur.com/Fl7XR.gif“ alt = „Head First Design Patterns“ title = „Head First Design Patterns – popis knihy na O ' Reilly Media“>

    V každém okamžiku někde na světě někde na světě někdo zápasí se stejnými problémy se softwarovým designem, jaké máte vy. Víte, že nechcete znovu objevovat kolo (nebo ještě hůře, prázdná pneumatika), takže se podíváte na Designové vzory – poučení těch, kteří čelili stejným problémům. S návrhovými vzory můžete využít osvědčené postupy a zkušenosti ostatních, abyste mohli trávit čas … něčím jiným. Něco náročnějšího. Něco složitějšího. Něco zábavnějšího.

    Chcete se dozvědět více o vzorcích, na kterých záleží – proč je používat, kdy je používat, jak je používat (a kdy je nepoužívat). Ale nechcete jen vidět, jak vzory vypadají v knize, chcete vědět, jak vypadají „v divočině“. V jejich rodném prostředí. Jinými slovy, v reálných aplikacích. Také se chcete naučit, jak vzory se používají v rozhraní Java API a jak využít integrovanou podporu vzorů Java ve vašem vlastním kódu.

    Chcete se seznámit se skutečnými principy návrhu OO a proč vše, co vám váš šéf řekl o dědičnosti se mýlit (a co místo toho dělat). Chcete se dozvědět, jak tyto principy pomohou, až budete příště potok bez návrhového vzoru.

    Nejdůležitější je naučit se „tajný jazyk“ návrhových vzorů, abyste mohli držet vlastní se svým spolupracovníkem (a zapůsobit na hosty koktejlového večírku), když mimochodem zmiňuje své neuvěřitelně chytré používání Command, Facade, Proxy a Factory mezi doušky martini. Budete snadno čelit svému hlubokému pochopení, proč Singleton není to tak jednoduché, jak to zní, jak je továrna tak často nepochopena, nebo na skutečném vztahu mezi dekoratérem, fasádou a adaptérem.

    S Head First Design Patterns se vyhnete rozpakům, když si myslíte, že dekoratér je něco ze show „Trading Spaces“ …

    Komentáře

    • Toto. ' je velmi dobře čitelné a změnilo způsob Přistupuji k softwarovému inženýrství úplně.
    • Celá hlavní první řada je skvělá, zejména pro začínající vývojáře.
    • Knihu miluji, ale absolutně nenávidím její obálku! ten můj šel druhý den v mé kanceláři, viděl knihu a řekl " Head First Designer Patterns? Jdete do módního průmyslu? "
    • @Pete Proč vás obálka může dostat do větších potíží. Zřejmě žije dvojí život. fishbowl.pastiche. org / 2005/08/12 / …

    odpověď

    Ano, o desig je známá kniha n vzory: Návrhové vzory: Prvky opakovaně použitelného objektově orientovaného softwaru a autorům se často říká „Gang of Four“ (GoF) a je na ně odkazováno téměř ve všech texty o designových vzorech.

    Komentáře

    • Také kniha Martina Fowlera ': amazon.com/Patterns-Enterprise-Application-Architecture-Martin/…
    • Toto je ne kniha o návrhových vzorech. Je to ' katalog vzorů. Na začátku je ' krátký úvod do návrhových vzorů, ale ' si nemyslím, že úvod je dostatečný.
    • @J ö rgWMittag Existuje ' s ' jedinečný proces vytváření designu vzory, návrhové vzory jsou relativně malá opakovaně použitelná řešení. Návrhové vzory jsou vytvářeny běžnými procesy vývoje softwaru, což je odlišuje od jejich nesmírné opětovné použitelnosti. Jediným relevantním jedinečným procesem je identifikace řešení jako návrhového vzoru a katalogy to dělají dobře.

    Odpověď

    Návrhové vzory: prvky opakovaně použitelného objektově orientovaného softwaru

    alternativní text

    Z wikipedia :

    Návrhové vzory: Prvky opakovaně použitelného objektově orientovaného softwaru je kniha o softwarovém inženýrství popisující opakující se řešení běžných problémů v softwaru design. Autoři knihy jsou Erich Gamma, Richard Helm, Ralph Johnson a John Vlissides s předmluvou od Gradyho Boocha. Autoři jsou často označováni jako Gang čtyř, GoF nebo Go4. Kniha je rozdělena na dvě části, s první dvě kapitoly zkoumající schopnosti a úskalí objektově orientovaného programování a zbývající kapitoly popisující 23 klasických návrhových vzorů softwaru. Kniha obsahuje příklady v C ++ a Smalltalk.

    Odpověď

    Jedním z nejlepších webů s designovým vzorem je Wardova Wiki, vůbec první wiki. Dobrou úvodní stránku naleznete v http://c2.com/cgi/wiki?HistoryOfPatterns .

    V roce 1987 konzultovali Ward a Kent se společností Tektronix „Semiconductor Test Systems Group, která měla potíže s dokončením návrhu. Rozhodli se vyzkoušet vzor, který studovali. Stejně jako Alexander, který řekl, že by ji měli navrhnout obyvatelé budovy, nechali Ward a Kent nechat návrh dokončit zástupci uživatelů (trenér a polní inženýr).

    Ward přišel s pětijazyčným „jazykem“ která pomohla začínajícím návrhářům využít silné stránky Smalltalku a vyhnout se jeho slabostem …

    Ward a Kent byli ohromeni (nepochybně sparťanskou) elegancí rozhraní, které jejich uživatelé navrhli. Ohlásili výsledky tento experiment na OOPSLA 87 v Orlandu. Napsali pozici panelu a představili na workshopu Norma Kertha o Odkud pocházejí objekty? Mluvili vzory, dokud nebyli modří v obličeji, a dostali hodně dohody, ale bez konkrétnějších vzorů se nikdo nepřihlásil.

    Mezitím byl Erich Gamma zaneprázdněn psaní a přemýšlením o objektově orientovaném designu v ET ++ jako součást své disertační práce. Erich si uvědomil, že opakující se konstrukční struktury nebo vzory jsou důležité. Otázkou skutečně bylo, jak je zachytíte a sdělíte jim.

    Bruce Anderson přednesl přednášku na TOOLS 90, na které byl přítomen ErichGamma; Erichovi se řeč líbila. Bruce přednesl referát na EcoopOopsla90 (Ottawa) a vedl BOF s názvem Toward an Architecture Handbook , kde se on, Erich Gamma, Richard Helm a další zapojili do diskusí o vzorcích.To bylo poprvé, co se Richard a Erich setkali, a uvědomili si, že sdílejí společné představy o klíčových myšlenkách, které stojí za psaním opakovaně použitelného OO softwaru.

    Těsně před konáním ECOOP „91 Erich Gamma a Richard Helm, sedí na na střeše v Curychu za letního letního dne, dal dohromady velmi skromné začátky katalogu vzorů, z nichž by se nakonec stal DesignPatterns …

    Věci se skutečně rozjely v dílně OOPSLA, kterou Bruce vedl v roce 1991 Shodou okolností byli všichni Erich Gamma, Richard Helm, Ralph Johnson a John Vlissides; později se stanou Gangem čtyř , který je autorem knihy Design Patterns

    Odpověď

    Myslím si, že refaktorování vzorů může být užitečné jednoduše proto, že popisuje, jak lze určitý desing / kód refaktorovat na vzory v knize GoF. To může pomoci překonat počáteční křivku učení. A také uvažuje o „vzorovém štěstí“ 🙂

    Můžete také najít první tři svazky softwarové architektury orientované na vzory, které vám budou dobře číst.

    Odpověď

    Návrhové vzory

    Tento výukový web obsahuje následující podsekce

    • Záměr každého návrhového vzoru
    • Struktura reálného světa pro návrhový vzor
    • Prohlášení o problému
    • Podrobná diskuse o problému
    • Kontrolní seznam, jak dospět k vzoru
    • Pravidla při příjezdu na vzor.
    • Fragmenty kódu pro návrhový vzor, který zahrnuje C #, C ++, Delphi, Java a PHP

    Tato stránka obsahuje také průvodce Anti Patterns, UML a refaktoring.

    Komentáře

    • Web SourceMaking vypadá na první pohled zjednodušeně, ale ' s opravdu skvělý odkaz. Kromě návrhových vzorů jsou některé z vývojových, architektonických & antipatterů pro správu projektů veselé. Refaktorovaná řešení vám mohou skutečně pomoci zachránit schůzku, která ' sjíždí z cesty. (Není to špatné pro odkaz na návrhový vzor)

    Odpověď

    Původní kniha „Design Patterns: Elements of Opakovaně použitelný objektově orientovaný software „je dobrým zdrojem pro objektově orientované návrhové vzory.

    Existuje mnoho dalších knih. Když potřebuji rychlý odkaz a moje kniha GoF je mimo dosah, má Wikipedia obvykle dostatek informací o těchto a dalších vzorech designu.

    Toto jsou hlavní, které používám. Je třeba také poznamenat, že lidé začali používat vzorový formát i na jiné věci, jako je projektové řízení.

    Pokud chcete vědět o antipatterech, které byste měli znát, existují dvě knihy, „AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis“ a také „Refactoring: Improving the Design of Existing Code“, který obsahuje část o vůních kódu, jiný název pro antipatterns.

    Odpověď

    „Agilní principy, vzory a postupy v C #“ od Roberta C. Martina. Myslím, že má také Java verzi knihy.

    Také nejde o samotný vzor, ale Domain Driven Design má několik skvělých konceptů, i když nepoužíváte úplný přístup DDD.

     * Ubiquitous Language * Code first approach (vs. DB first) * etc. 

    Odpověď

    Pokud vás zajímají konkrétně návrhové vzory v C ++, zkuste Moderní design v C ++ Andrei Alexandrescu.

    Tato kniha hovoří o tom, jak implementovat obyčejné lidi y použité vzory jako Factory, Singleton a Visitor v C ++. Mluví také o tématech velmi specifických pro C ++, jako jsou inteligentní ukazatele, metaprogramování šablon a návrh tříd založených na zásadách.

    Autor knihy je autoritativní expert , známý svou

    průkopnickou prací na návrhu založeném na zásadách implementovaném prostřednictvím metaprogramování šablon. Tyto myšlenky jsou formulovány v jeho knize Modern C ++ Design a byly poprvé implementovány v jeho programovací knihovně Loki. Ve své knihovně MOJO také implementoval koncept „Move Constructors“. Přispěl do C / C ++ Users Journal pod vedlejším řádkem „Generic < Programování >“ …

    Komentáře

    • vadilo by vám vysvětlit, co dělá a co ' je to dobré? " Odpovědi pouze na odkazy " nejsou na Stacku zcela vítány Výměna
    • @gnat: jak to ' je?
    • no vaše nedávná úprava pro mě určitě vypadá jako vylepšení.Ačkoli by čtenářům odpovědi pravděpodobně prospělo podrobnější vysvětlení kdo je Aleksandresku
    • @gnat: protože evidentně víte, o koho jde, prosím, neváhejte upravit moji odpověď.

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *