Przegląd Wzór Języki projektowania programu

ORIGINAL: http://www.cs.uni.edu/~wallingf/research/book-review-plopd1.html

edytowany przez Jamesa O. Coplien i Douglas C. Schmidt
Addison Wesley, 1995, 562 stron

Autor recenzji:
Eugene Wallingford
Wydział Informatyki
University of Northern Iowa
Cedar Falls, Iowa 50614-0507
[email protected]

W ciągu ostatnich pięciu lat, tętniąca życiem społeczność naukowców i praktyków rozwinęła się wokół idei, wzorców. Pierwotnie zbadane przez architekta Christophera Alexandra, wzorce i języki wzór uchwycić wspólne mądrości o dobry projekt i przedstawić go w formie literackiej, która umożliwia ponowne użycie innych tego doświadczenia. Każdy wzór dotyczy konkretnego problemu projektowe w określonym kontekście, omawia siły, które sprawiają, że znalezienie dobre rozwiązanie trudne, i przedstawia rozwiązanie, które, jak stwierdzono, aby odnieść sukces w przekazywaniu tych sił. Nic o wzorcach jest nieodłącznie obiektowego, ale zdecydowana większość pracy w społeczności wzorów obejmuje analizę OO i projektowania.

Dzięki tej książce, redaktorzy Jim Coplien i Doug Schmidt wprowadzić świat w ogóle do zróżnicowanej społeczności wzór. Rozdziały Wzór Języki projektowania programu oparte są na dokumentach przedstawionych na corocznej konferencji Pierwszy wzorca językowego programy, odbywających się w sierpniu 1994. To nowy rodzaj konferencji, gdzie ludzie prezentowanego badania, ale nie nowy „starych“ rozwiązań, te że znaleźli wielokrotnie przydatne w ich własnych rozwiązań programowych. Główną cechą PLOP było wykorzystanie pracowni pisarza w miejsce tradycyjnych prezentacje referatów. Na warsztatach, pisarze słuchał małej grupy recenzentów omówić swoje papiery, idee w nim zawarte, a skuteczność ich formy. W rezultacie, Coplien i Schmidt roszczenie „Rozdziały w tej książce są z pewnością jednym z najbardziej intensywnie edytowane prac w literaturze współczesnej oprogramowania.“ To nie jest bezsensowne roszczenia; każdy rozdział książki jest pouczające, dobrze napisana, i przyjemne do czytania.

Sekcje 1, 5 i 7, które są obecne wzorce, w przeważającej części, ogólnie z pojęciem rozwoju oprogramowania obiektowego. W pierwszej części, cztery rozdziały dotyczyć korzystania z wzorców w rozwoju ram i komponentów wielokrotnego użytku. Rozdziały te wskazują również na wielką szerokość literaturze wzór. Rozdział 2, przez Riehle i Zullighoven, opisuje język wzór do projektowania ram z perspektywy narzędzi i materiałów. Ekstrapolacji one z ciekawą metaforę do zestawu wzorców projektowych, które stanowią wgląd w projekt niemal każdej ramach aplikacji. Z drugiej strony, rozdział 1, przez Adams, prezentuje jeden wzór <Funkcjonalność Ala Carte

Rozdziały w sekcji 5 spojrzeć do wewnątrz, do kwestii klasyfikacji wzorców. Dwa z tych rozdziałów koncentruje się na różnych wymiarach, w którym wzory mogą być zorganizowane tak, że odpowiednie wzory mogą być zidentyfikowane przez twórców oprogramowania dokładnie we właściwym momencie. Rozdział że znalazłem najbardziej interesujące było jednak Katalog Roberta Martina wzorów, że znalazł się w dużym ciele istniejącego kodu. Wzory Martina są praktyczne patrzy na rodzaje decyzji podejmowanych przez deweloperów we wszystkich dużych projektów informatycznych. Na koniec, rozdział 7 obejmuje wzory w projektowaniu indywidualnych obiektów. że promowanie ponownego wykorzystania. Dwa z tych rozdziałów są jednymi z najlepszych w książce. Opis Viljamaa za klienta, określono w rozdziale samodzielnej wzór 26 wyraźnie objaśnia rozwiązanie problemu delegowania odpowiedzialności w sytuacjach, w których rola, że ​​obiekt sztuki mogą zmieniać się dynamicznie. W rozdziale 27, Auer daje język wzór do projektowania obiektów za pomocą auto-hermetyzacji. Technika ta powoduje, że przedmioty mają maksymalnie do wielokrotnego użytku w ramach kolejnych podklasy. Ten rozdział jest tak dobry, i adresy na tyle poważny problem, który powinien być lekturą obowiązkową dla wszystkich programistów obiektowych.

Sekcje 2, 6 i 8 dotyczą wzorów do obliczeń rozproszonych. Bogactwo tej dziedzinie doprowadził do bogactwa pracy w społeczności wzór na kwestie synchronizacji, współbieżności, integracji aplikacji i obsługi zdarzeń. Rozdziały w tych sekcjach obecne wzory, które są interesujące nawet dla projektantów, którzy nie pracują w tej dziedzinie, z których tego recenzenta jest jeden. Ich wartość wynika z wartości postaci wzoru, który zachęca omówienie problemów i rozwiązań na poziomie, który sprawia, że ​​interesujące decyzje projektowe wyraźne i namacalne. Wiele z tych decyzji pojawia się, chociaż w nieco różnych postaciach, w innych rodzajach układów, a więc stanie zapewnić formę wdechu nie może poza tym być dostępne. Wśród bardziej ogólnie dostępne rozdziałów w tych sekcjach są dyskusje Mészáros „z Half-Object Plus protokołu wzór dla rozkładających pojedynczy obiekt na wielu hostach w sposób, który jest przezroczysty dla użytkowników i Schmidta Reactor wzór do rozpoznawania i wysyłanie wielu obsługi zdarzeń w zdarzeniami systemu.

Sekcja 3 to jedyny punkt, który jest specyficzny dla danej domeny, które w biznesie. Jako osoba z modeli budynków doświadczenie procesów biznesowych i wiedzy, uważam, że ten szczupły część trzech rozdziałów być ogromne zainteresowanie. Te rozdziały ponownie wykazać wielką szerokość literaturze wzór. Rozdział 11, przez Wake, przedstawia jeden wzór dla obiektów numer konta. Jego krótkie omówienie kwestii, które leżą u podstaw specyfikacji, tworzenie i korzystanie z tych obiektów jest świadome i pełne ważnych punktów. W rozdziale 10, Cunningham podejmuje temat pozornej prostocie

Sekcja 4 rozszerza temat projektowania programu w tytuł książki do jej najszerszym znaczeniu, że z procesu i organizacji w rozwoju oprogramowania. Każdy z czterech rozdziałów w tej sekcji będzie bardzo interesujące dla każdego zaangażowanego w proces budowy dużych systemów oprogramowania. Coplien w Rozdział 13 opisuje język czterdzieści dwa wzory dla rozwoju generatywnego o jakości organizacji oprogramowania, które jest w oparciu o wnikliwą analizę udanych projektów oprogramowania. Wzorce te obejmują pełny zakres działań od rozmiaru organizacji, aby zrekompensować sukces. Rozdział 14, Foote i Opdyke, prezentuje wzorce, które dotyczą kwestii ewolucji w systemach obiektowych i jak projektanci mogą ułatwić naturalny przepływ z prototypu poprzez rozbudowę odpowiedzialności do konsolidacji dojrzałych obiektów w dostarczonym systemie. Whitenack przedstawia początki języka wzór dla analizy wymagań w rozdziale 15. Wreszcie, w rozdziale 16, Kerth donosi język wzór mający na celu „oczyszczenia“ w fazie analizy rozwoju oprogramowania. Jego twierdzenie, że przed stworzeniem takich językach wzór, proces * * analizy i projektowania były tak trudne do opisania, że ​​względy konstrukcyjne (takie jak obiekty kategorie) stał przemieszane w analizie.

Jeśli chodzi o książki jako całości, nie jest powszechne uczucie do wszystkich ośmiu odcinków, które jest rzadkością w większości zbiorów materiałów konferencyjnych. Temat wzór jest jeszcze świeży w społeczności, a autorami wszystkich trzydziestu rozdziałów napisałem wzorów w sposób, który zapewnia uderzająco jedność książki. Niestety, ta jedność przejawia się także w postaci znacznej redukcji etatów w całej wprowadzenia rozdziałów i bibliografii. Opisy narracyjne wzorów i inspiracji dla społeczności oprogramowania Aleksandra faktycznie pożyczyć miłe uczucie homeyness postępowania, ale powtarzające się pozycje bibliograficzne się następujące cytaty całej papierów trudne zadanie. Jednym skutkiem ubocznym jest to, że dokumenty mogą być odczytywane stosunkowo niezależne od siebie, chociaż chciałbym zaproponować znaczną czytanie książki w celu uzyskania pełnego wpływu jakie wzorce mają do zaoferowania.

Nowość w dziedzinie oznacza również, że wielu autorów opisuje wzorce, które są bardzo podobne do innych opisanych w innym miejscu tekstu. Zadanie, które pozostaje dla społeczności deseń jest integracja różnych, ale podobnych językach wzór w spójne całości. Ale to zadanie nie będzie łatwe, jak omówiono w rozdziale Kerth 16. Wreszcie, książka pokazuje dobrą równowagę wzorców, które nie są zorientowane na język, ale że często są zgłaszane w ramach jednego języka (zwykle Smalltalk lub C ++ ).

Coplien i Schmidt zebrali bardzo czytelny i informacyjny ankietę z pracami wykonywanymi w sprawie wzorów do projektowania oprogramowania. Uznają one, że w ich przedmowie szeroki zakres problemów i rozwiązań przedstawionych w niniejszym tomie pierwszym jest wymagający czytnika oraz, w rezultacie, nie wszystkie rozdziały będą równie interesujące dla każdego czytelnika. Zgadzam się z tą oceną, ale również zgodzić się z ich zachęty do udziału wszystkich ośmiu sekcjach. Po zeskanowaniu przez książkę po raz pierwszy, mój umysł był wyścigi z pomysłów, które zostały albo posadzonych lub przebudzonych przez różnych dokumentów w księdze. Idee te wymuszone mój drugi czytać, podczas którego udało mi się zebrać znaczenie niektórych rozdziałach na znacznie głębszym poziomie. A jeśli masz tylko ograniczony czas, zachęcam do zapoznania się rozdział 4 na proces i organizacji. To ilustruje podejście wzór, oddaje ducha badając proces za artefakt, i jest odpowiedni do czytelników ze wszystkich środowisk. Po przeczytaniu go, prawie na pewno będziesz chciał wrócić po więcej.

Comments are closed.