sau " Resurse tipare de proiectare " (din moment ce nu am ' nu înseamnă " referință " ca " căutare la cerere ") și mutați toate elementele listei în corp (sau eliminați-le)?
.NET Design Model și ghidare arhitecturală
Pentru unele implementări decente, obișnuiam să mă uit la cele de pe dofactory (didn ' totuși nu cumpăr cărțile).
Având în vedere această întrebare am primit un răspuns complet și cuprinzător, eu ' am închis celelalte modele de proiectare se întreabă ca dubluri ale acestuia pentru al desemna ca pereche canonică Q & A și pereche de răspunsuri pentru acest subiect.
Răspuns
Modele de proiectare: elemente de software reutilizabil orientat pe obiecte se apropie foarte mult de definiția mea despre o carte canonică despre tiparele de proiectare. Conform articolul său de pe Wikipedia (sublinierea mea):
Data originală de publicare a cartea a fost 21 octombrie 1994 cu drepturi de autor din 1995 și, din iulie 2010, cartea se afla la a 38-a ediție . Cartea a fost pusă pentru prima dată la dispoziția publicului la reuniunea OOPSLA, care a avut loc la Portland, Oregon, în octombrie 1994. A fost extrem de influentă în domeniul ingineriei software și este considerată o sursă importantă pentru teoria și practica proiectării orientate pe obiecte. Peste 500.000 de exemplare au fost vândute în engleză și în alte 13 limbi .
Ward Cunningham , un pionier al modelelor de design, menține un catalog online al modelelor cărții pe WikiWikiWeb . Și conform articolului Wikipedia despre model de proiectare (din nou, accentul meu):
Modelele de design au câștigat popularitate în informatică după publicarea cărții Design Patterns: Elements of Reusable Object-Oriented Software a fost publicată în 1994 de așa-numita „Gang of Four” (Gamma și colab.).
Există destul de multe alte cărți la care se face referire în același articol ca notabil în gen:
- Arhitectura software orientată pe tipare Volumul 1: un sistem de tipare , de Douglas Schmidt, Michael Stal, Hans Rohnert și Frank Buschmann,
- Patterns of Enterprise Application Architecture de Martin Fowler,
- Modele de integrare a întreprinderii: proiectarea, construirea și implementarea soluțiilor de mesagerie ., De Hohpe, Gregor și Bobby Woolf și
- Head First Design Patterns , de Eric T. Freeman, Elisabeth Robson, Bert Bates și Kathy Sierra.
Dintre cei pe care i-am citit cartea lui Fowler, este extrem de influent și o lectură bună. În anumite momente, este un pic vag pentru gustul meu, dar, în general, este o carte plăcută. Există un catalog online al modelelor incluse în carte, cu descrieri minime.
De asemenea, am trecut prin modele Head First Design și, dacă ați citit orice altă carte din seria Head First, este de aceeași calitate și la fel de plăcută ca majoritatea cărților din serie :
Head First este o serie de cărți de instruire introductive pentru mai multe subiecte, publicate de O „Reilly Media. Subliniază o combinație neortodoxă, intensă din punct de vedere vizual, care implică cititorul de puzzle-uri, glume, design și aspect non-standard și un stil de conversație captivant pentru a scufunda cititorul într-un subiect dat.
Termenul „model de proiectare” este oarecum vag, întrucât fiecare soluție generală reutilizabilă poate fi considerată un model de proiectare. Am observat întotdeauna o tendință de a aplica eticheta pe soluțiile descrise într-una dintre cărțile notabile pe care le-am enumerat mai sus și, mai precis, cărțile Gang of Four și Fowler. Modelele de proiectare nu urmează un proces unic de dezvoltare, sunt o soluție software normală Se întâmplă să fie extrem de reutilizabile și sunt extrem de greu de identificat .
Dar dacă comparați cataloagele online pentru ambele cărți cu conținutul cărților specifice limbii, veți observa că acestea sunt adesea folosite ca șabloane. Deci aș spune că ambele cărți sunt foarte aproape de a fi canonice referințe, cartea GoF fiind cea mai importantă dintr-o perspectivă istorică, chiar dacă ambele cărți sunt limitate la programare orientată obiect .
Comentarii
Răspuns
Răspuns
mg src = „https://i.stack.imgur.com/Fl7XR.gif” alt = „Head First Design Patterns” title = „Head First Design Patterns – descrierea cărții la O ' Reilly Media”>
În orice moment dat, undeva în lume cineva se luptă cu aceleași probleme de proiectare software pe care le aveți. Știți că nu doriți să reinventați roata (sau mai rău, o anvelopă plată), așa că vă uitați la Design Patterns – lecțiile învățate de cei care „s-au confruntat cu aceleași probleme. Cu Design Patterns, puteți profita de cele mai bune practici și experiență ale altora, astfel încât să vă puteți petrece timpul pe … altceva. Ceva mai provocator. Ceva mai complex. Ceva mai distractiv.
Vrei să afli despre tiparele care contează – de ce să le folosești, când să le folosești, cum să le folosești (și când NU să le folosești). Dar nu doriți doar să vedeți cum arată modelele într-o carte, doriți să știți cum arată „în sălbăticie”. În mediul lor nativ. Cu alte cuvinte, în aplicațiile din lumea reală. De asemenea, doriți să învățați cum modelele sunt utilizate în API-ul Java și cum să exploatezi suportul integrat al modelului Java în propriul cod.
Vrei să afli principiile reale de proiectare OO și de ce tot ce ți-a spus șeful tău despre moștenire greșește (și ce să faci în schimb). Doriți să aflați cum aceste principii vă vor ajuta data viitoare când vă „ridicați într-un pârâu fără un model de proiectare.
Cel mai important, doriți să învățați” limbajul secret „al modelelor de design, astfel încât să puteți păstra al tău cu colegul tău de muncă (și îi impresionezi pe oaspeții de la petreceri de cocktailuri), când el menționează în mod ocazional utilizarea sa uimitor de inteligentă a comenzii, fațadei, proxy-ului și fabricii între înghițiturile unui martini. Vei contracara cu ușurință înțelegerea profundă a motivului pentru care Singleton nu este atât de simplu pe cât pare, cum fabrica este atât de des înțeleasă greșit, sau despre relația reală dintre decorator, fațadă și adaptor.
Cu Head First Design Patterns , veți evita rușinea gândirii că Decorator este ceva din spectacolul „Spații comerciale” …
Comentarii
Răspuns
Răspuns
Modele de proiectare: elemente de software reutilizabil orientat obiect
De la wikipedia :
Modele de proiectare: elemente ale software-ului orientat pe obiecte reutilizabile este o carte de inginerie software care descrie soluții recurente la problemele obișnuite din software proiecta. Autorii cărții sunt Erich Gamma, Richard Helm, Ralph Johnson și John Vlissides cu o prefață de Grady Booch. Autorii sunt adesea denumiți Gang of Four, GoF sau Go4. Cartea este împărțită în două părți, cu primele două capitole care explorează capabilitățile și capcanele programării orientate pe obiecte și celelalte capitole care descriu 23 de modele clasice de proiectare software. Cartea include exemple în C ++ și Smalltalk.
Răspuns
Unul dintre cele mai bune modele de design site-uri din jur este Wiki-ul lui Ward, primul wiki. Consultați http://c2.com/cgi/wiki?HistoryOfPatterns pentru o pagină de pornire bună în ea.
În 1987, Ward și Kent se consultau cu Grupul de sisteme de testare a semiconductorilor Tektronix, care întâmpina probleme la finalizarea proiectării. Au decis să încerce modelele pe care le studiaseră. La fel ca Alexander, care a spus că ocupanții unei clădiri ar trebui să o proiecteze, Ward și Kent au lăsat reprezentanții utilizatorilor (un antrenor și un inginer de teren) să termine designul.
Ward a venit cu un „limbaj” cu cinci modele. care i-a ajutat pe designerii novici să profite de punctele forte ale Smalltalk și să evite slăbiciunile sale …
Ward și Kent au fost uimiți de eleganța (desigur spartană) a interfeței proiectate de utilizatorii lor. Au raportat rezultatele acest experiment la OOPSLA 87 din Orlando. Au scris o poziție de panel și au prezentat la atelierul lui Norm Kerth despre De unde vin obiectele? Au vorbit despre modele până când au fost albastre la față și au primit mult acord, dar fără modele mai concrete, nimeni nu se înscria.
Între timp, Erich Gamma era ocupat să scrie și să reflecteze despre proiectarea orientată obiect în ET ++ ca parte a tezei sale de doctorat. Erich își dăduse seama că structurile sau modelele de proiectare recurente erau importante. Întrebarea a fost într-adevăr cum le captați și le comunicați.
Bruce Anderson a susținut o discuție la TOOLS 90 la care ErichGamma era prezent; Lui Erich i-a plăcut discuția. Bruce a dat o lucrare la EcoopOopsla90 (Ottawa) și a condus un BOF numit Către un manual de arhitectură unde el, Erich Gamma, Richard Helm și alții au intrat în discuții despre tipare.A fost prima dată când Richard și Erich s-au întâlnit și și-au dat seama că au împărtășit idei comune despre ideile cheie din spatele scrierii unui software reutilizabil OO. pe acoperișul din Zürich, într-o zi sufocantă de vară, a pus laolaltă începuturile foarte umile ale catalogului de modele care ar deveni în cele din urmă DesignPatterns …
Lucrurile au început să ruleze într-adevăr la atelierul OOPSLA pe care Bruce la condus în 1991 Întâmplător, Erich Gamma, Richard Helm, Ralph Johnson și John Vlissides erau cu toții acolo; vor deveni mai târziu Gang of Four care a creat cartea Design Patterns …
Răspuns
Cred că Refactorizare la modele poate fi util pur și simplu pentru că descrie modul în care anumite desene / coduri pot fi refactorizate către modele din cartea GoF. Acest lucru poate ajuta la depășirea curbei de învățare inițiale. Oh, și se gândește și la „Pattern-fericire” 🙂
Este posibil ca primele trei volume ale Arhitecturii software orientate spre pattern să fie citite bine.
Răspuns
Modele de proiectare
Acest site de tutorial conține următoarele subsecțiuni
- Intenția fiecărui model de proiectare
- Structura lumii reale pentru modelul de proiectare
- O afirmație privind problema
- Discuție detaliată asupra problemei
- Listă de verificare a modului de a ajunge la un model
- Reguli în timp ce ajungeți la model.
- Fragmente de cod pentru modelul de proiectare care include C #, C ++, Delphi, Java și PHP
Acest site conține, de asemenea, ghid pentru Anti Patterns, UML și Refactoring.
Comentarii
Răspuns
Cartea originală, „Design Patterns: Elements of Software reutilizabil orientat pe obiecte „este o resursă bună pentru tiparele de proiectare orientate pe obiecte.
Există multe alte cărți acolo. Când am nevoie de o referință rapidă și cartea mea GoF nu este la îndemână, Wikipedia are în mod normal suficiente informații despre acele și alte tipare de design.
Acestea sunt primele pe care le folosesc. De asemenea, trebuie remarcat faptul că oamenii au început să aplice formatul modelului la alte lucruri, cum ar fi managementul de proiect.
Dacă doriți să știți despre antipatternuri, despre care ar trebui să fiți conștienți, există două cărți, „AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis”, precum și „Refactoring: Îmbunătățirea proiectării codului existent”, care are o secțiune despre mirosurile de cod, un alt nume pentru antipatterns.
Răspuns
„Principii, modele și practici agile în C #” de Robert C. Martin. Cred că are și o versiune Java a cărții.
De asemenea, nu un model în sine, dar Designul bazat pe domeniu are câteva concepte grozave, chiar dacă nu alegeți abordarea DDD completă.
* Ubiquitous Language * Code first approach (vs. DB first) * etc.
Răspuns
Dacă sunteți interesat în mod specific de modele de proiectare în C ++ încercați Design modern C ++ de Andrei Alexandrescu.
Această carte vorbește despre cum să implementăm commonl Am folosit modele precum Factory, Singleton și Visitor în C ++. De asemenea, se vorbește despre subiecte specifice C ++, cum ar fi indicatorii inteligenți, metaprogramarea șabloanelor și proiectarea clasei bazate pe politici.
Autorul cărții este un expert autorizat , cunoscut pentru
munca sa de pionierat în proiectarea bazată pe politici implementată prin metaprogramare șablon. Aceste idei sunt articulate în cartea sa Modern C ++ Design și au fost implementate pentru prima dată în biblioteca sa de programare, Loki. De asemenea, el a implementat conceptul „constructori de mișcare” în biblioteca sa MOJO. A contribuit la jurnalul C / C ++ Users sub linia „Generic < Programare >” …
Comentarii