lub " Zasoby wzorców projektowych " (ponieważ nie ' t mean " reference " as just " szukaj na żądanie ") i przenieść całą listę do treści (lub ją usunąć)?
.NET Design Wskazówki dotyczące wzorców i architektury
W przypadku niektórych przyzwoitych implementacji przyglądałem się tym w dofactory (didn ' nie kupuję książek).
Biorąc pod uwagę, że na to pytanie otrzymałem pełną i wyczerpującą odpowiedź, ' zamknąłem inne pytania dotyczące wzorców projektowych jako duplikaty tego pytania, aby oznaczyć je jako kanoniczne Q & A i odpowiedz parę na ten temat.
Odpowiedź
Wzorce projektowe: elementy oprogramowania obiektowego wielokrotnego użytku jest bardzo zbliżone do mojej definicji książki kanonicznej o wzorcach projektowych. Zgodnie z artykułem na Wikipedii (wyróżnienie moje):
Pierwotna data publikacji książka została wydana 21 października 1994 r. z prawami autorskimi w 1995 r., a od lipca 2010 r. była w 38. nakładzie . Książka została po raz pierwszy udostępniona publicznie na spotkaniu OOPSLA, które odbyło się w Portland w stanie Oregon w październiku 1994 roku. Wywarła duży wpływ na dziedzinę inżynierii oprogramowania i jest uważana za ważne źródło teorii i praktyki projektowania obiektowego. Sprzedano ponad 500 000 kopii w języku angielskim i 13 innych językach .
Ward Cunningham , pionier wzorców projektowych, prowadzi katalog online wzorów książki na WikiWikiWeb . I zgodnie z artykułem Wikipedii na temat wzorca projektowego (ponownie, moje wyróżnienie):
Wzorce projektowe zyskały popularność w informatyce po opublikowaniu w 1994 roku książki Wzorce projektowe: elementy oprogramowania obiektowego wielokrotnego użytku przez tak zwany „Gang of Four” (Gamma et al.).
Istnieje wiele innych książek, do których odwołuje się ten sam artykuł , co w gatunku:
- Pattern-Oriented Software Architecture Tom 1: A System of Patterns , autor: Douglas Schmidt, Michael Stal, Hans Rohnert i Frank Buschmann,
- Patterns of Enterprise Application Architecture autorstwa Martina Fowlera,
- Wzorce integracji przedsiębiorstwa: projektowanie, tworzenie i wdrażanie rozwiązań komunikacyjnych ., Autorstwa Hohpe, Gregor i Bobby Woolf oraz
- Head First Design Patterns , autor: Eric T. Freeman, Elisabeth Robson, Bert Bates i Kathy Sierra.
Z tych, które czytałem, książkę Fowlera jest bardzo wpływowa i dobrze się czyta. W niektórych momentach jest to trochę niejasne jak na mój gust, ale ogólnie jest to przyjemna książka. Istnieje katalog online wzorów zawartych w książce, z minimalnymi opisami.
Przejrzałem również wzorce projektowe Head First, a jeśli czytałeś jakąkolwiek inną książkę z serii Head First, jest ona tej samej wysokiej jakości i równie przyjemna jak większość książek z tej serii :
Head First to seria wprowadzających podręczników do wielu tematów, opublikowanych przez O „Reilly Media. Podkreśla niekonwencjonalne, wizualnie intensywne, angażujące czytelnika połączenie łamigłówek, żartów, niestandardowego projektu i układu oraz angażującego, konwersacyjnego stylu, który pozwala czytelnikowi zanurzyć się w danym temacie.
Termin „wzorzec projektowy” jest nieco niejasny, ponieważ każde ogólne rozwiązanie wielokrotnego użytku można uznać za wzorzec projektowy. Zawsze zauważyłem tendencję do umieszczania etykiety na rozwiązaniach opisanych w jednym z ważnych książek, które wymieniłem powyżej, a dokładniej w książkach Gang of Four i Fowler. Wzorce projektowe nie podlegają unikalnemu procesowi rozwoju, są to normalne rozwiązania programowe tak się składa, że można je niezmiernie wykorzystać ponownie i są niezwykle trudne do zidentyfikowania .
Ale jeśli porównasz katalogi online obu książek z zawartością książek specyficznych dla języka, zauważysz, że są one często używane jako szablony. Więc powiedziałbym, że obie książki są bardzo blisko kanoniczności odniesień, przy czym książka GoF jest ważniejsza z historycznego punktu widzenia, mimo że obie książki są ograniczone do programowania obiektowego .
Komentarze
Odpowiedź
Odpowiedź
mg src = „https://i.stack.imgur.com/Fl7XR.gif” alt = „Head First Design Patterns” title = „Head First Design Patterns – opis książki w O ' Reilly Media”>
W dowolnym momencie na świecie ktoś zmaga się z tymi samymi problemami w projektowaniu oprogramowania, które Ty masz. Wiesz, że nie chcesz wymyślać na nowo koła (lub, co gorsza, przebicia opony), więc spójrz na wzorce projektowe – wnioski wyciągnięte przez tych, którzy „napotkali te same problemy. Dzięki wzorcom projektowym możesz skorzystać z najlepszych praktyk i doświadczeń innych, dzięki czemu możesz spędzić czas na … czymś innym. Coś bardziej wymagającego. Coś bardziej złożonego. Coś fajniejszego.
Chcesz dowiedzieć się o wzorcach, które mają znaczenie – dlaczego ich używać, kiedy ich używać, jak ich używać (a kiedy NIE). Ale nie chcesz tylko zobaczyć, jak wyglądają wzorce w książce, chcesz wiedzieć, jak wyglądają „na wolności”. W ich rodzimym środowisku. Innymi słowy, w zastosowaniach w świecie rzeczywistym. Chcesz także dowiedzieć się, jak wzorce są używane w Java API i jak wykorzystać wbudowaną obsługę wzorców Javy we własnym kodzie.
Chcesz poznać prawdziwe zasady projektowania obiektowego i dlaczego wszystko, co powiedział ci szef o dziedziczeniu, może być w błędzie (i co robić zamiast tego). Chcesz się dowiedzieć, w jaki sposób te zasady pomogą Ci następnym razem „napłynąć do rzeki bez wzorca projektowego”.
Co najważniejsze, chcesz nauczyć się „sekretnego języka” wzorców projektowych, aby móc utrzymać swoje własne ze współpracownikiem (i zaimponuj gościom przyjęcia koktajlowego), gdy od niechcenia wspomina o swoim oszałamiającym sprytnym użyciu Command, Facade, Proxy i Factory pomiędzy łykami martini. nie jest tak proste, jak się wydaje, jak często fabryka jest źle rozumiana, ani na temat rzeczywistego związku między dekoratorem, fasadą i adapterem.
Dzięki Head First Design Patterns unikniesz zakłopotania myślenia, że Dekorator to coś z programu „Trading Spaces” …
Komentarze
Odpowiedź
Odpowiedź
Wzorce projektowe: elementy oprogramowania obiektowego wielokrotnego użytku
From wikipedia :
Wzorce projektowe: elementy oprogramowania obiektowego wielokrotnego użytku to książka o inżynierii oprogramowania opisująca powtarzające się rozwiązania typowych problemów w oprogramowaniu projekt. Autorami książki są Erich Gamma, Richard Helm, Ralph Johnson i John Vlissides z przedmową Grady Booch. Autorzy są często określani jako Gang of Four, GoF lub Go4. Książka jest podzielona na dwie części, z pierwsze dwa rozdziały badające możliwości i pułapki programowania obiektowego, a pozostałe rozdziały opisujące 23 klasyczne wzorce projektowania oprogramowania. Książka zawiera przykłady w językach C ++ i Smalltalk.
Odpowiedź
Jedną z najlepszych dostępnych wzorców projektowych jest Wiki Ward, pierwsza wiki. Zobacz http://c2.com/cgi/wiki?HistoryOfPatterns , aby zapoznać się z dobrą stroną początkową.
W 1987 roku Ward i Kent konsultowali się z Semiconductor Test Systems Group firmy Tektronix, która miała problemy z ukończeniem projektu. Postanowili wypróbować wzorce, które studiowali. Podobnie jak Alexander, który powiedział, że lokatorzy budynku powinni go zaprojektować, Ward i Kent pozwolili przedstawicielom użytkowników (trenerowi i inżynierowi terenowemu) ukończyć projekt.
Ward wymyślił „język” składający się z pięciu wzorów który pomógł początkującym projektantom wykorzystać mocne strony Smalltalk i uniknąć jego słabości …
Ward i Kent byli zdumieni (co prawda spartańską) elegancją interfejsu zaprojektowanego przez ich użytkowników. ten eksperyment w OOPSLA 87 w Orlando. Opracowali stanowisko panelowe i zaprezentowali na warsztatach Norma Kertha: Skąd pochodzą przedmioty? Rozmawiali o wzorach, aż stały się niebieskie na twarzy. wiele się zgadzało, ale bez bardziej konkretnych wzorców nikt się nie zapisywał.
W międzyczasie Erich Gamma był zajęty pisaniem i rozważaniami na temat projektowania obiektowego w ET ++ w ramach swojej pracy doktorskiej. Erich zdał sobie sprawę, że powtarzające się konstrukcje lub wzory są ważne. Tak naprawdę chodziło o to, jak je uchwycić i przekazać.
Bruce Anderson wygłosił przemówienie na TOOLS 90, na którym obecny był ErichGamma; Erich lubił rozmowę. Bruce wygłosił referat w EcoopOopsla90 (Ottawa) i prowadził BOF zatytułowany Toward an Architecture Handbook , w którym on, Erich Gamma, Richard Helm i inni wdali się w dyskusje o wzorach.To był pierwszy raz, kiedy Richard i Erich spotkali się i zdali sobie sprawę, że podzielili się wspólnymi pomysłami na temat kluczowych idei związanych z pisaniem oprogramowania OO wielokrotnego użytku.
Tuż przed ECOOP ”91 Erich Gamma i Richard Helm, siedzący na na dachu w Zurychu w upalny letni dzień, zebrano bardzo skromne początki katalogu wzorów, które ostatecznie stały się wzorami DesignPatterns …
Na warsztatach OOPSLA, które Bruce prowadził w 1991 roku, sprawy potoczyły się naprawdę. Przypadkowo byli tam Erich Gamma, Richard Helm, Ralph Johnson i John Vlissides; później stali się Gang of Four , który jest autorem książki Wzorce projektowe …
Odpowiedź
Odpowiedź
Wzorce projektowe
Ta witryna samouczka zawiera następujące podsekcje
- Przeznaczenie każdego wzorca projektowego
- Struktura świata rzeczywistego dla wzorzec projektowy
- Opis problemu
- Szczegółowe omówienie problemu
- Lista kontrolna, jak dojść do wzorca
- Podstawowe zasady docierając do wzorca.
- Fragmenty kodu dla wzorca projektowego, który obejmuje C #, C ++, Delphi, Java i PHP.
Ta strona zawiera również przewodnik po anty-wzorcach, UML i refaktoryzacja.
Komentarze
Odpowiedź
Oryginalna książka „Wzorce projektowe: elementy Oprogramowanie obiektowe wielokrotnego użytku ”jest dobrym źródłem wzorców projektowych zorientowanych obiektowo.
Istnieje wiele innych książek. Kiedy potrzebuję szybkiego odniesienia, a moja książka GoF jest poza zasięgiem, Wikipedia zwykle ma wystarczająco dużo informacji na temat tych i innych wzorców projektowych.
To są podstawowe, których używam. Należy również zauważyć, że ludzie zaczęli stosować format wzorców do innych rzeczy, takich jak zarządzanie projektami.
Jeśli chcesz wiedzieć o antywzorach, o których powinieneś wiedzieć, są dwie książki, „Anty-wzorce: refaktoryzacja oprogramowania, architektur i projektów w kryzysie”, a także „Refaktoryzacja: ulepszanie projektu istniejącego kodu”, w którym znajduje się sekcja dotycząca zapachów kodu, inna nazwa dla antywzorców.
Odpowiedź
„Agile Principles, Patterns and Practices in C #” Roberta C. Martina. Myślę, że ma on również wersję tej książki w języku Java.
Również nie sam wzorzec, ale Domain Driven Design zawiera kilka świetnych koncepcji, nawet jeśli nie wybierzesz pełnego podejścia DDD.
* Ubiquitous Language * Code first approach (vs. DB first) * etc.
Odpowiedź
Jeśli interesują Cię wzorce projektowe w C ++, wypróbuj Nowoczesny projekt C ++ autorstwa Andrei Alexandrescu.
Ta książka mówi o tym, jak wdrożyć commonl y używał wzorców, takich jak Factory, Singleton i Visitor w C ++. Porusza również tematy bardzo specyficzne dla C ++, takie jak inteligentne wskaźniki, metaprogramowanie szablonów i projektowanie klas oparte na zasadach.
Autor książki jest autorytatywnym ekspertem , znany ze swoich
pionierskich prac nad projektami opartymi na zasadach wdrażanymi za pomocą metaprogramowania szablonów. Pomysły te zostały wyrażone w jego książce Modern C ++ Design i po raz pierwszy zostały wdrożone w jego bibliotece programistycznej Loki. Zaimplementował również koncepcję „Move constructors” w swojej bibliotece MOJO. Wniósł wkład do dziennika użytkowników C / C ++ pod tytułem „Generic < Programming >” …
Komentarze