Onko olemassa kanoninen kirja suunnittelumalleista? [suljettu]

Kommentit

  • En ' ole varma, onko tämä sinun ' miettinyt uudelleen, mutta Forrst -palvelusta löytyy paljon fiksuja kehitystietoja.
  • Entä " otsikko suunnittelumalleille

tai " Suunnittelumalliresurssit " (koska en ' t tarkoita " viite " vain " etsiessä kysyntää ") ja siirtää kaikki luettelotavarat runkoon (tai poistaa ne)?

  • .NET Design Kuvio ja arkkitehtuurin ohjaus
  • Joissakin kunnollisissa toteutuksissa käytin tarkastelemaan niitä, jotka ovat dofactory-sovelluksessa (ei ' ei kuitenkaan osta kirjoja).
  • Koska tämä kysymys sai täydellisen ja kattavan vastauksen, olen ' suljettu muut suunnittelumallit kysyvät tämän kopioista, jotta se nimetään tämän aiheen kanoniseksi Q & A ja vastauspariksi.
  • Vastaa

    Suunnittelukuviot: Elementit uudelleenkäytettävien olio-ohjelmistojen käyttö on hyvin lähellä määritelmääni kanonisesta kirjasta suunnittelumalleista. mukaan sen wikipedia-artikkeli (kursivointi minun):

    Alkuperäinen julkaisupäivä kirja oli 21. lokakuuta 1994 ja tekijänoikeus vuonna 1995, ja heinäkuusta 2010 lähtien se oli 38. painoksessa . Kirja asetettiin ensimmäisen kerran yleisön saataville OOPSLA-kokouksessa, joka pidettiin Portlandissa Oregonissa lokakuussa 1994. Se on ollut erittäin vaikuttava ohjelmistosuunnittelun alalla ja sitä pidetään tärkeänä lähdekohteena suunnatun suunnittelun teoriaa ja käytäntöä varten. Yli 500 000 kappaletta on myyty englanniksi ja 13 muulla kielellä .

    Ward Cunningham , suunnittelumallien edelläkävijä, ylläpitää online-luetteloa kirjan malleista osoitteessa WikiWikiWeb . Ja Wikipedia-artikkelin mukaan suunnittelumallista (jälleen kerran, korostetaan minun):

    Suunnittelumallit saivat tietotekniikassa suosiota sen jälkeen, kun vuonna 1994 julkaistiin teos Design Patterns: Elus of Reusable Object-Oriented Software ns. ”Neljän jengi” (Gamma ym.).

    Kohdassa sama artikkeli kuin tyylilaji:

    Niistä, jotka olen lukenut Fowlerin kirjan, se on erittäin vaikuttava ja hyvä lukea. Tietyissä kohdissa se on vähän epämääräinen minun makullani, mutta kaiken kaikkiaan se on nautinnollinen kirja. Kirjassa olevista kuvioista on online-luettelo , jossa kuvaukset ovat vähäisiä.

    ”>

    Useimmat sarjan kirjat :

    Head First on sarja monien aiheiden perehdyttäviä oppikirjoja, julkaisija O ”Reilly Media. Se korostaa epätavallista, visuaalisesti intensiivistä, lukijaa yhdistävää palapelien, vitsien, epätyypillisen suunnittelun ja asettelun yhdistelmää sekä kiehtovaa, keskustelutyyliä lukijan upottamiseksi tiettyyn aiheeseen.

    Termi ”suunnittelumalli” on jonkin verran epämääräinen, koska jokaista yleisesti uudelleenkäytettävää ratkaisua voidaan pitää suunnittelumallina. Olen aina huomannut taipumuksen kiinnittää etiketti yhdessä kappaleessa kuvattuihin ratkaisuihin edellä mainituista merkittävistä kirjoista ja tarkemmin Neljän jengi ja Fowler-kirjoista. Suunnittelumallit eivät noudata ainutlaatuista kehitysprosessia, ne ovat normaalia ohjelmistoratkaisua jotka ovat satunnaisesti uudelleenkäytettäviä, ja niitä on erittäin vaikea tunnistaa .

    Mutta jos verrataan molempien kirjojen verkkoluetteloita kielikohtaisten kirjojen sisältöön, huomaat, että niitä käytetään usein malleina. Joten sanoisin, että molemmat kirjat ovat hyvin lähellä kanonista olemista. viitteet, GoF-kirjan ollessa tärkeämpi historiallisesta näkökulmasta, vaikka molemmat kirjat rajoittuvat olio-ohjelmointiin .

    kommentit

    • +1. Itse asiassa halusin antaa sinulle +5, mutta valitettavasti ' ei ole sallittua.
    • Koko malliin suuntautunut ohjelmistoarkkitehtuurisarja käsittelee erityyppisten järjestelmien malleja – Osa 1 koskee arkkitehtonisia malleja ja malleja, jotka leikkaavat verkkotunnuksia, osa 2 koskee samanaikaisia järjestelmiä, osa 3 on resurssien hallintaa verkotetuissa / hajautetuissa järjestelmissä, osa 4 koskee hajautettuja järjestelmiä ja osa 5 koskee myös mallikieliä viitteenä muille 4 nidealle. Kysymyksen perusteella luulen, että myös osa 5 saattaa olla sovellettavissa, mutta en ole ' viettänyt liikaa aikaa sen kanssa … vielä.
    • @Yannis tämä ja pää ensin perustuu yleensä staattisiin kirjoitettuihin kieliin. Onko dynaamisille kielille, kuten pythonille, hyviä kirjoja.
    • @ ravi404 norvig.com/design-patterns

    Vastaus

    Neljän jengi – Suunnittelukuviot: Uudelleenkäytettävien objektien elementit- Suunniteltu ohjelmisto on luultavasti lähinnä suunnittelumallien alan standardia.

    Saadaksesi helpomman esittelyn, Head First: Design Kuviot ovat myös hyviä. Älkää tyytykö ”trendikkääseen” kanteen, koska se on hyvä lukea ja todennäköisesti auttaa sinua ymmärtämään GoF-kirjan käsitteitä paljon helpommin, jos luet sen ensin.

    vastaus

    mg src = ”https://i.stack.imgur.com/Fl7XR.gif” alt = ”Head First Design Patterns” title = ”Head First Design Patterns – book description at O ' Reilly Media”>

    Milloin tahansa, jossain päin maailmaa joku kamppailee samojen ohjelmistosuunnitteluongelmien kanssa kuin sinulla. Tiedät, ettet halua keksiä pyörää (tai mikä vielä pahempaa, renkaan murtumista) uudelleen, joten katsot suunnittelumalleja – samojen ongelmien kokeneiden opetuksia. Suunnittelumallien avulla voit hyödyntää muiden parhaita käytäntöjä ja kokemuksia, jotta voit viettää aikaa … johonkin muuhun. Jotain haastavampaa. Jotain monimutkaisempaa. Jotain hauskempaa.

    Haluat oppia merkityksellisistä malleista – miksi käyttää niitä, milloin käyttää, kuinka käyttää (ja milloin EI käyttää). Mutta et vain halua nähdä, miltä kuviot näyttävät kirjassa, haluat tietää, miltä ne näyttävät ”luonnossa”. Natiivissa ympäristössä. Toisin sanoen tosielämän sovelluksissa. Haluat myös oppia, kuinka kuviot käytetään Java-sovellusliittymässä, ja kuinka hyödyntää Javan sisäänrakennettua kuviotukea omassa koodissasi.

    Haluat oppia OO: n todelliset suunnitteluperiaatteet ja miksi kaikki mitä pomosi kertoi sinulle perinnöstä olla väärässä (ja mitä sen sijaan tehdä). Haluat oppia, kuinka nuo periaatteet auttavat, kun seuraavan kerran nouset purolle ilman suunnittelukuviota.

    Tärkeintä on, että haluat oppia suunnittelukuvioiden ”salaisen kielen”, jotta voit pitää kiinni omasi työtoverisi kanssa (ja saa vaikutuksen cocktailjuhliin), kun hän rennosti mainitsee hämmästyttävän älykkään komentonsa, julkisivunsa, välityspalvelimensa ja tehtaan käyttönsä martini-annosten välissä. Vastustat helposti syvällä ymmärryksellesi miksi Singleton ei ole niin yksinkertaista kuin miltä se kuulostaa, kuinka tehtaita ymmärretään niin usein väärin, tai sisustajan, julkisivun ja sovittimen todellisesta suhteesta.

    Head First Design Patterns -ominaisuuden avulla vältät hämmennystä ajattelemasta, että Decorator on jotain ”Trading Spaces” -esityksestä …

    Kommentit

    • Tämä. Se ' on helposti luettavissa ja muutti tapaa Lähestyn ohjelmistosuunnittelua täysin.
    • koko ensimmäisen pään ensimmäinen sarja on loistava, etenkin aloittavien kehittäjien kannalta.
    • Rakastan kirjaa, mutta vihaan sitä täysin! minun käveli eräänä päivänä toimistoni vieressä, näin kirjan ja sanoin " Head First Suunnittelija Patterns? Aiotko mennä muotiliiketoimintaan? "
    • @Pete Miksi kansi voi saada sinut enemmän vaikeuksiin. Hän elää ilmeisesti kaksinkertaista elämää. fishbowl.pastiche. org / 2005/08/12 / …

    vastaus

    Kyllä, on olemassa tunnettu kirja desigistä n mallia: Suunnittelumallit: Uudelleenkäytettävien olio-ohjelmistojen elementit ja kirjoittajia kutsutaan usein ”Neljän jengiksi” (GoF), ja niihin viitataan melkein kaikissa tekstit suunnittelumalleista.

    Kommentit

    • Myös Martin Fowler ' kirja: amazon.com/Patterns-Enterprise-Application-Architecture-Martin/…
    • Tämä on ei kirjaa suunnittelumalleista. Se ' on luettelo kuvioista. ' on alussa lyhyt esittely suunnittelumalleista, mutta en ' usko, että esittely on riittävä.
    • @J ö rgWMittag Siellä ' s ei ole ' ta ainutlaatuinen prosessi suunnittelun luomisessa mallit, suunnittelumallit ovat suhteellisen pieniä uudelleenkäytettäviä ratkaisuja. Suunnittelumallit luodaan ohjelmistokehityksen normaaleissa prosesseissa, mikä erottaa ne niiden valtavasta uudelleenkäytettävyydestä. Ainoa asiaankuuluva ainutlaatuinen prosessi on ratkaisun tunnistaminen suunnittelumalliksi, ja luettelot tekevät sen hienosti.

    Vastaa

    Suunnittelumallit: uudelleenkäytettävän olio-ohjelmiston elementit

    alt-teksti

    Lähde: wikipedia :

    Suunnittelumallit: Uudelleenkäytettävien olio-ohjelmistojen elementit on ohjelmistotuotekirja, joka kuvaa toistuvia ratkaisuja ohjelmistojen yleisiin ongelmiin design. Kirjan kirjoittajat ovat Erich Gamma, Richard Helm, Ralph Johnson ja John Vlissides Grady Boochin esipuheella. Kirjoittajia kutsutaan usein nimellä Neljän jengi, GoF tai Go4. Kirja on jaettu kahteen osaan. kaksi ensimmäistä lukua, joissa tutkitaan olio-ohjelmoinnin ominaisuuksia ja sudenkuoppia, ja loput luvut kuvaavat 23 klassista ohjelmistosuunnittelumallia. Kirja sisältää esimerkkejä C ++ – ja Smalltalk-tiedostoista.

    Vastaa

    Yksi parhaista suunnittelumallin verkkosivustoista on Wardin Wiki, aivan ensimmäinen wiki. Katso hyvä divisioonialusta sivulta http://c2.com/cgi/wiki?HistoryOfPatterns .

    Vuonna 1987 Ward ja Kent neuvottelivat Tektronixin Semiconductor Test Systems Groupin kanssa, jolla oli vaikeuksia suunnitelman viimeistelyssä. He päättivät kokeilla niitä malleja, joita he olivat opiskelleet. Kuten Alexander, joka sanoi, että rakennuksen käyttäjien tulisi suunnitella se, Ward ja Kent antoivat käyttäjien edustajien (kouluttaja ja kenttäinsinööri) viimeistellä suunnittelun.

    Ward keksi viiden kuvion ”kielen” joka auttoi aloittelijoita suunnittelijoita hyödyntämään Smalltalkin vahvuuksia ja välttämään sen heikkoudet …

    Ward ja Kent olivat hämmästyneitä käyttäjiensä suunnitteleman käyttöliittymän (tosin spartalaisen) eleganssista. He kertoivat tuloksista tämä kokeilu OOPSLA 87: ssä Orlandossa. He kirjoittivat paneelin kannan ja esittelivät Norm Kerthin työpajassa Mistä esineet tulevat? He puhuivat kuvioita, kunnes he olivat sinisiä kasvoillaan ja saivat paljon sopimusta, mutta ilman konkreettisempia malleja kukaan ei ollut kirjautumassa.

    Samaan aikaan Erich Gamma kirjoitti ja pohtii objektisuuntautunutta suunnittelua ET ++: ssa osana väitöskirjaansa. Erich oli ymmärtänyt, että toistuvat suunnittelurakenteet tai kuviot olivat tärkeitä. Kysymys oli todella siitä, miten voit kaapata ja kommunikoida heitä.

    Bruce Anderson piti puheen TOOLS 90: ssä, jossa ErichGamma oli läsnä; Erich piti puheesta. Bruce antoi paperin EcoopOopsla90: ssä (Ottawa) ja juoksi BOF nimeltään Kohti arkkitehtuurin käsikirjaa , jossa hän, Erich Gamma, Richard Helm ja muut keskustelivat malleista.Se oli ensimmäinen kerta, kun Richard ja Erich tapasivat, ja he huomasivat jakavansa yhteisiä ajatuksia uudelleenkäytettävien OO-ohjelmistojen kirjoittamisen tärkeimmistä ideoista.

    Juuri ennen ECOOPia ”91 Erich Gamma ja Richard Helm, istuen katolla Zürichissä räikeänä kesäpäivänä, koota hyvin nöyrä alku kuvioluettelolle, josta lopulta tulee DesignPatterns …

    Asiat todella liikkuivat Brucen vuonna 1991 pitämässä OOPSLA-työpajassa. Sattumalta Erich Gamma, Richard Helm, Ralph Johnson ja John Vlissides olivat kaikki siellä; niistä tulee myöhemmin Neljän jengi , joka on kirjoittanut Suunnittelumallit -kirja …

    vastaus

    Luulen, että palautetaan kuvioihin voi olla hyödyllinen yksinkertaisesti siksi, että se kuvaa kuinka tietty muotoilu / koodi voidaan palauttaa GoF-kirjan malleihin. Tämä voi auttaa voittamaan alkuperäisen oppimiskäyrän. Voi ja se miettii myös ”mallin onnellisuutta” :).

    Saatat pitää myös Pattern-Oriented Software Architecture -kolme ensimmäistä osaa hyvänä lukuna.

    Vastaa

    Suunnittelumallit

    Tämä opetusohjelma sisältää seuraavat alaosastot

    • Kunkin suunnittelumallin tarkoitus
    • Todellisen maailman rakenne suunnittelukuvio
    • Ongelma
    • Yksityiskohtainen keskustelu ongelmasta
    • Tarkistuslista mallin saamiseksi
    • Nyrkkisäännöt samalla kun saavutat mallin.
    • Koodinpätkät suunnittelumallille, joka sisältää C #, C ++, Delphi, Java ja PHP

    Tämä sivusto sisältää myös oppaan Anti Patterns, UML: stä. ja Refactoring.

    Kommentit

    • SourceMaking-sivusto näyttää ensi silmäyksellä yksinkertaiselta, mutta se ' s todella hyvä viite. Suunnittelumallien lisäksi jotkut kehitys-, arkkitehtuuri & projektinhallinnan anti-mallit ovat hauskoja. Refraktoidut ratkaisut voivat todella auttaa sinua säästämään kokouksen, joka ' menee kiskoilta. (Ei huono mallikuvaviitteelle)

    Vastaus

    Alkuperäinen kirja ”Suunnittelumallit: Elementit Uudelleenkäytettävät olio-ohjelmistot ”on hyvä resurssi olio-suuntautuneille suunnittelumalleille.

    Siellä on monia muita kirjoja. Kun tarvitsen pikaviitteitä ja GoF-kirjani ei ole tavoitettavissa, Wikipediassa on yleensä tarpeeksi tietoa näistä ja muista suunnittelumalleista.

    Nämä ovat ensisijaisia käyttämiäni. On myös huomattava, että ihmiset ovat alkaneet soveltaa mallimuotoa muihin asioihin, kuten projektinhallintaan.

    Jos haluat tietää anti-malleista, joista sinun tulisi olla tietoisia, on kaksi kirjaa, ”AntiPatterns: Refactoring Software, Architectures and Projects in Crisis” sekä ”Refactoring: Improving the Design of Existing Code”, jossa on koodihajuinen osio, toinen nimi anti-kuvioille.

    Vastaus

    ”Agile Principles, Patterns, and Practices in C #”, kirjoittanut Robert C. Martin. Luulen, että hänellä on myös Java-versio kirjasta.

    Ei myöskään itse malli, mutta verkkotunnusohjatulla suunnittelulla on hienoja konsepteja, vaikka et menisikään täysin DDD-lähestymistavan mukaisesti.

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

    Vastaus

    Jos olet kiinnostunut erityisesti C ++: n suunnittelumalleista, kokeile Moderni C ++ -suunnittelu kirjoittanut Andrei Alexandrescu.

    Tässä kirjassa kerrotaan, miten commonl otetaan käyttöön y käytti malleja, kuten Factory, Singleton ja Visitor C ++: ssa. Siinä puhutaan myös hyvin C ++ –kohtaisista aiheista, kuten älykkäistä osoittimista, mallin metaprogrammista ja käytäntöihin perustuvasta luokan suunnittelusta.

    Kirjan tekijä on arvovaltainen asiantuntija , joka tunnetaan

    uraauurtavasta työstä politiikkaperusteisessa suunnittelussa, joka toteutetaan mallin metaprogrammoinnin avulla. Nämä ideat on esitetty hänen kirjassaan Modern C ++ Design , ja ne toteutettiin ensin hänen ohjelmointikirjastossaan Loki. Hän toteutti myös ”liikerakentajat” -konseptin MOJO-kirjastossaan. Hän osallistui C / C ++ Users -lehteen otsikolla ”Generic < Ohjelmointi >” …

    Kommentit

    • haluaisitko selittää enemmän siitä, mitä se tekee ja mitä se ' sopii? " Vain linkkivastaukset " eivät ole kovin tervetulleita Stackiin Vaihto
    • @gnat: miten ' tämä tapahtuu?
    • No, äskettäinen muokkauksesi näyttää varmasti parannukselta minulle.Vaikka vastauksen lukijat hyötyisivätkin tarkemmasta selityksestä kuka on Aleksandresku
    • @gnat: koska tiedät tietysti kuka hän on, muokkaa vastaustani.

    Vastaa

    Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *