Van-e kanonikus könyv a tervezési mintákról? [zárt]

Megjegyzések

  • Nem vagyok biztos benne, hogy ez az, amit ' átgondolom, de sok okos fejlesztési cuccot találok a Forrst oldalon.
  • Mi lenne a " címe a tervezési minták referenciaforrásai

vagy " Tervezési minta erőforrások " (mivel én nem ' t " referencia ", ahogy csak " keresésre keres "), és az összes listadarabot áthelyezi a törzsbe (vagy eltávolítja)?

  • .NET Design Minta és építészeti útmutatás
  • Néhány tisztességes megvalósításhoz szoktam vetni egy pillantást a dofactory (didn ' t ne vedd meg a könyveket).
  • Mivel erre a kérdésre teljes és átfogó választ kaptam, én ' bezártam a többi tervezési minta ennek duplikátumaként kérdezi meg, hogy ezt a témát kanonikus Q & A és válaszpárként jelölje meg.
  • Válasz

    Tervezési minták: elemek Az újrafelhasználható objektum-orientált szoftver nagyon közel áll a tervezési mintákról szóló kanonikus könyv definíciómhoz. wikipédia-cikke (kiemelés az enyém) szerint:

    a könyv 1994. október 21-én volt 1995-ös szerzői joggal, és 2010. júliusától a könyv 38. nyomtatásban volt . A könyvet először az OOPSLA ülésén tették elérhetővé az oregoni Portland-ben, 1994. októberében. Nagy hatással volt a szoftvertervezés területére, és az objektum-orientált tervezési elmélet és gyakorlat fontos forrásának tekintik. Több mint 500 000 példányt adtak el angolul és további 13 nyelven .

    Ward Cunningham , a tervezési minták úttörője, a WikiWikiWeb webhelyen online katalógust vezet a könyv mintáiról. . És a Wikipedia cikkelye szerint tervezési mintáról (ismét hangsúlyt kapok az enyémről):

    A tervezési minták az 1994-ben megjelent Design Patterns: Elements of Reusable Object-Oriented Software című könyv nyomán szerzett népszerűséget a számítástechnikában az úgynevezett “Négyek bandája” (Gamma és mtsai.).

    A ugyanaz a cikk , amely figyelemre méltó a műfajban:

    Azok közül, akiket elolvastam Fowler könyvét, nagyon hatásos és jó olvasmány. Bizonyos pontokon kissé homályos az ízlésemnek, de összességében élvezetes könyv. Van egy online katalógus a könyvben található mintákról, minimális leírással.

    Én is átnéztem a Head First tervezési mintákat, és ha olvastál a Head First sorozat bármely más könyvét, ugyanolyan kiváló minőségű és olyan élvezetes, mint a a sorozat legtöbb könyve :

    A Head First egy sor bemutató oktatókönyv számos témához, kiadó: O “Reilly Media. Hangsúlyozza a rejtvények, poénok, a nem szabványos kialakítás és elrendezés egy unortodox, vizuálisan intenzív, az olvasót bevonó kombinációját, valamint egy vonzó, beszélgetős stílust, hogy elmerítse az olvasót egy adott témában.

    A “tervezési minta” kifejezés kissé homályos, mivel minden általános újrafelhasználható megoldás tervezési mintának tekinthető. Mindig észrevettem azt a tendenciát, hogy a címkét az egyikben leírt megoldásokra alkalmazzuk. a fentebb felsorolt nevezetes könyvek közül, pontosabban a Négy bandája és a Fowler könyvek. A tervezési minták nem egyedi fejlesztési folyamatot követnek, hanem normál szoftveres megoldások amelyek történetesen rendkívül újrafelhasználhatók, és ezeket rendkívül nehéz azonosítani .

    De ha összehasonlítja mindkét könyv online katalógusát a nyelvspecifikus könyvek tartalmával, akkor észreveszi, hogy ezeket gyakran sablonként használják. Tehát azt mondanám, hogy mindkét könyv nagyon közel áll ahhoz, hogy kanonikus legyen hivatkozások, a történelmi szempontból a GoF könyv a legfontosabb, annak ellenére, hogy mindkét könyv objektumorientált programozásra korlátozódik .

    Megjegyzések

    • +1. Valójában +5-öt szerettem volna adni, de sajnos ' nem engedélyezett.
    • A teljes Pattern-Oriented Software Architecture sorozat a különböző típusú rendszerek mintáiról szól. – Az 1. kötet építészeti mintákról és doméneket keresztező mintákról szól, a 2. kötet párhuzamos rendszerekről, a 3. kötet az erőforrások kezeléséről a hálózatba kapcsolt / elosztott rendszerekben, a 4. kötet az elosztott rendszerekről, az 5. kötet pedig a mintanyelvekről is referenciaként a másik 4 kötethez. A kérdést figyelembe véve úgy gondolom, hogy az 5. kötet is alkalmazható, de még ' nem töltöttem túl sok időt vele … még.
    • @Yannis ez és a head először általában statikus, tipizált nyelveken alapul. Van-e jó könyv olyan dinamikus nyelvekhez, mint a python.
    • @ ravi404 norvig.com/design-patterns

    Válasz

    Négyek csoportja – Tervezési minták: Újrafelhasználható objektum elemei- Az orientált szoftver valószínűleg a legközelebb áll a tervezési minták ipari szabványához.

    A hozzáférhetőbb bevezetés érdekében Head First: Design A minták is jók. A “trendi” borító nem riad vissza, mivel ez egy jó olvasmány, és valószínűleg sokkal könnyebben meg fogja érteni a GoF könyv fogalmait, ha először elolvassa.

    Válasz

    mg src = “https://i.stack.imgur.com/Fl7XR.gif” alt = “Fej első tervezési minták” title = “Fej első tervezési minták” – könyvleírás az O ' Reilly Media “>

    Bármelyik pillanatban valahol a világon valaki ugyanazokkal a szoftvertervezési problémákkal küzd, mint Ön. Tudja, hogy nem akarja újból feltalálni a kereket (vagy ami még rosszabb, ha a gumiabroncs meghibásodott), ezért a Tervezési mintákra tekint – azokra a tanulságokra, akik ugyanazokkal a problémákkal szembesültek. A Design Patterns segítségével kihasználhatja mások bevált gyakorlatait és tapasztalatait, hogy időt tölthessen … valamire. Valami nagyobb kihívást. Valami összetettebb. Valami szórakoztatóbb.

    Szeretne megismerkedni a fontos mintákkal – miért használja, mikor használja, hogyan használja (és mikor NE használja). De nem csak azt akarja látni, hogy néznek ki a minták egy könyvben, hanem azt, hogy hogyan néznek ki a „vadonban”. A natív környezetben. Más szavakkal, a valós alkalmazásokban. Azt is meg akarja tanulni, hogy a minták használják a Java API-ban, és hogyan lehet kihasználni a Java beépített mintatámogatását a saját kódjában.

    Meg akarja ismerni a valódi OO-tervezési elveket, és azt, hogy miért minden, amit a főnöke mondott neked az öröklésről tévedni (és mit kell tenni helyette). Meg akarja tanulni, hogy ezek az alapelvek hogyan segítenek, amikor legközelebb egy patakon lép fel egy tervezési minta nélkül.

    A legfontosabb, hogy meg akarja tanulni a tervezési minták „titkos nyelvét”, hogy meg tudja tartani a saját munkatársával (és lenyűgözze a koktélparti vendégeit), amikor véletlenül megemlíti a Command, a Homlokzat, a Proxy és a Factory lenyűgözően okos használatát a martini kortyjai között. Könnyen ellensúlyozhatja mélységes megértését, hogy miért Singleton Nem olyan egyszerű, mint amilyennek hangzik, hogy a Gyárat oly gyakran félreértik, vagy a Dekoratőr, a Homlokzat és az Adapter közötti valós kapcsolatról.

    A Head First Design Patterns használatával elkerülheti azt a zavart, ha azt gondolja, hogy a Decorator valami a “Kereskedési helyek” műsorból származik …

    Megjegyzések

    • Ez. Ez ' nagyon hozzáférhető olvasmány, és megváltoztatta az utat Teljesen megközelítem a szoftvertechnikát.
    • az első fej első sorozata nagyszerű, különösen a kezdő fejlesztők számára.
    • Imádom a könyvet, de teljesen utálom a borítót! A programozáson kívüli kolléga az enyém a minap az irodám mellett sétált, meglátta a könyvet, és azt mondta: " Head First Designer Patterns? Divatüzletbe megy? "
    • @Pete Miért okozhatja a borító még nagyobb bajokat? Nyilván kettős életet él. fishbowl.pastiche. org / 2005/08/12 / …

    Válasz

    Igen, van egy jól ismert könyv a desigről n minta: Tervezési minták: Újrafelhasználható objektum-orientált szoftver elemei , és a szerzőket gyakran “Négyek bandájának” (GoF) hívják, és szinte minden országban hivatkoznak rá szövegek a tervezési mintákról.

    Megjegyzések

    • Szintén Martin Fowler ' könyv: amazon.com/Patterns-Enterprise-Application-Architecture-Martin/…
    • Ez nem egy könyv a tervezési mintákról. ' a minták katalógusa. A kezdetekben ' rövid bemutatás a tervezési mintákról, de nem gondolom, hogy a bevezetés elegendő lenne.
    • @J ö rgWMittag Ott ' s nem ' a tervezés egyedülálló folyamata minták, tervezési minták viszonylag kicsi újrafelhasználható megoldások. A tervezési minták a szoftverfejlesztés normál folyamatai révén jönnek létre, ami megkülönbözteti őket a hatalmas újrafelhasználhatóságtól. Az egyetlen releváns egyedi folyamat a megoldás tervezési mintaként történő azonosítása, és a katalógusok ezt finoman csinálják.

    Válasz

    Tervezési minták: újrafelhasználható objektumorientált szoftver elemei

    alt szöveg

    From wikipedia :

    Tervezési minták: Az újrafelhasználható objektum-orientált szoftver elemei egy szoftvertervező könyv, amely a szoftverek gyakori problémáinak visszatérő megoldásait írja le tervezés. A könyv szerzői Erich Gamma, Richard Helm, Ralph Johnson és John Vlissides, Grady Booch előszavával. A szerzőket gyakran Négyek bandájának, GoF-nek vagy Go4-nek nevezik. A könyv két részre oszlik, az első két fejezet az objektum-orientált programozás képességeit és buktatóit tárja fel, a többi fejezet pedig 23 klasszikus szoftvertervezési mintát ismertet. A könyv példákat tartalmaz a C ++ és a Smalltalk nyelvű példákban. >

    Válasz

    Az egyik legjobb tervezési mintájú webhely a Ward Wiki, a legelső wiki. A http://c2.com/cgi/wiki?HistoryOfPatterns oldalon talál egy jó kezdő oldalt.

    1987-ben Ward és Kent konzultáltak a Tektronix Semiconductor Test Systems csoportjával, amelynek gondjai voltak a tervezés befejezésével. Úgy döntöttek, hogy kipróbálják azokat a mintákat, amelyeket tanulmányoztak. Akárcsak Alexander, aki azt mondta, hogy egy épület lakóinak kell megtervezniük, Ward és Kent is hagyta, hogy a felhasználók képviselői (oktató és terepi mérnök) befejezzék a tervezést.

    A Ward ötféle „nyelvvel” állt elő. ez segített a kezdő tervezőknek kihasználni a Smalltalk erősségeit és elkerülni a gyengeségeit …

    Ward és Kent csodálkoztak a felhasználók által tervezett felület (kétségkívül spártai) eleganciáján. Beszámoltak az eredményekről ezt a kísérletet az orlandói OOPSLA 87-ben. Felírták a panel álláspontját, és Norm Kerth műhelyében bemutatták a következő témát: Honnan származnak a tárgyak? Mintákat beszéltek, amíg kékre nem váltak az arcukon, és sok egyetértés, de konkrétabb minták nélkül senki sem jelentkezett.

    Időközben Erich Gamma doktori disszertációjának részeként az ET ++ objektum-orientált tervezéséről írt és reflektált. Erich rájött, hogy a visszatérő tervezési struktúrák vagy minták fontosak. A kérdés valóban az volt, hogyan ragadja meg és kommunikálja őket.

    Bruce Anderson a TOOLS 90-en tartott előadást, ahol ErichGamma jelen volt; Erichnek tetszett a beszélgetés. Bruce dolgozatát tartott az EcoopOopsla90-nél (Ottawa), és vezetett egy BOF-ot Egy építészeti kézikönyv felé , ahol ő, Erich Gamma, Richard Helm és mások beszélgetésekbe kezdtek a mintákról.Ez volt az első alkalom, hogy Richard és Erich találkoztak, és rájöttek, hogy közös elképzeléseik vannak az újrafelhasználható OO szoftver megírásának legfontosabb ötleteiről.

    Közvetlenül az ECOOP előtt “91 Erich Gamma és Richard Helm, egy tetőn Zürichben egy tomboló nyári napon összeállította a minták katalógusának nagyon szerény kezdeteit, amelyek végül DesignPatternsé válnak … Véletlenül ott volt Erich Gamma, Richard Helm, Ralph Johnson és John Vlissides; később ők lesznek a Négyek bandája ról, amely a Tervezési minták könyvet írta …

    Válasz

    Válasz

    Tervezési minták

    Ez az oktató webhely a következő alszakaszokat tartalmazza

    • Az egyes tervezési minták szándéka
    • A valós világ szerkezete a tervezési minta
    • Probléma-állítás
    • Részletes vita a problémáról
    • Ellenőrző lista a mintához való jutásról
    • Alapszabályok miközben megérkezik a mintához.
    • Kódrészletek a tervezési mintához, amely tartalmazza a C #, C ++, Delphi, Java és PHP

    Ez a webhely az Anti Patterns, UML útmutatót is tartalmaz és Refactoring.

    Megjegyzések

    • A SourceMaking webhely első ránézésre egyszerűnek tűnik, de ' s valóban remek referencia. A tervezési mintákon kívül a fejlesztési, architektúra & projektmenedzsment antipatternek egy része vidám. Az átdolgozott megoldások valóban segíthetnek egy olyan értekezlet mentésében, amely ' elmegy a sínekről. (Nem rossz a tervezési minta hivatkozásnál)

    Válasz

    Az eredeti könyv: “Tervezési minták: Újrafelhasználható objektumorientált szoftver “jó forrás az objektumorientált tervezési mintákhoz.

    Sok más könyv létezik odakinn. Ha szükségem van egy gyors áttekintésre, és a GoF könyvem nem elérhető, a Wikipedia általában elegendő információval rendelkezik ezekről és más tervezési mintákról.

    Ezeket használom elsődlegesen. Azt is meg kell jegyezni, hogy az emberek elkezdték alkalmazni a minta formátumát más dolgokra, például a projektmenedzsmentre.

    Ha szeretne tudni az antipatternákról, amelyeknek tisztában kell lennie, két könyv található, “AntiPatterns: Szoftverek, architektúrák és projektek refrakcionálása válsághelyzetben”, valamint “Refactoring: Improve the Designing of Existing Code”, amelynek van egy része a kódszagokról, az antipatternek másik neve. Válasz

    “Agile Principles, Patterns and Practices in C #”, Robert C. Martin. Azt hiszem, rendelkezik a könyv Java verziójával is.

    Ezenkívül nem maga a minta, hanem a Domain-alapú tervezés tartalmaz néhány remek koncepciót, még akkor is, ha nem a teljes DDD-megközelítést alkalmazza.

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

    Válasz

    Ha kifejezetten a C ++ tervezési mintái érdekelnek, próbáljon meg Modern C ++ Design szerző: Andrei Alexandrescu.

    Ez a könyv arról beszél, hogy miként lehet végrehajtani a commonl-t y olyan mintákat használt, mint a Factory, a Singleton és a Visitor a C ++ formátumban. Nagyon C ++ – specifikus témákról is beszél, például okos mutatókról, sablon metaprogramozásról és házirend-alapú osztálytervezésről.

    A könyv szerző hiteles szakértő / a>, ismert

    úttörő munkája a sablon metaprogramozással megvalósított, politikán alapuló tervezéssel kapcsolatban. Ezeket az ötleteket Modern C ++ Design című könyve fogalmazza meg, és először a Loki programozási könyvtárában valósították meg. MOJO könyvtárában megvalósította a “lépéskonstruktorok” koncepciót is. Hozzájárult a C / C ++ Felhasználók folyóirathoz az “Általános < programozás >” sor alatt.

    Megjegyzések

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük