Prehľad vzorov jazykov návrhu programu
Sciologness
Home |

Prehľad vzorov jazykov návrhu programu

editoval James O. Coplien a Douglas C. Schmidt  Addison Wesley, 1995, 562 strán

Recenzie od: Eugene Wallingford Katedra informatiky University of Northern Iowa 

Cedar Falls, Iowa 50614-0507 wallingf@cs.uni.edu

Za posledných päť rokov, živé spoločenstvo výskumníkov a praktikov vyrástla okolo myšlienky vzorov. Pôvodne preskúmal architekt Christopher Alexander, vzory a vzory jazyky zachytiť spoločné múdrosť o dobrom dizajne a prezentovať ju v literárnej forme, ktorá umožňuje ostatným, aby opätovne túto skúsenosť. Každý vzor rieši konkrétny konštrukčný problém v konkrétnom kontexte, opisuje sily, ktoré tvoria zistení dobré riešenie ťažké, a predstavuje riešenie, ktoré bolo nájdené, aby bola úspešná v sprostredkovaní týchto síl. Nič o modeloch je neodmysliteľne objektovo-orientovaný, ale drvivá väčšina práce v vzorov Spoločenstva, zahŕňa OO analýzu a návrh. S touto knihou, redaktori Jim Coplien a Doug Schmidt predstaví svet ako celok, aby rôznorodé vzoru komunity. Kapitoly vzorov jazykov návrhu programu sú založené na príspevkoch na prvej výročnej konferencii vzorov jazykov programy, ktoré sa konalo v auguste 1994. To bol nový druh konferencie, kde ľudia predstavili nie nový výskum, ale "staré" riešenie, tie, ktoré oni našli opakovane užitočné v ich vlastných softvérových postupov. Ústredným rysom PLOP bolo použitie spisovateľa dielni v mieste tradičných papierových prezentácií. Na seminároch, spisovatelia počúval na malú skupinu hodnotiteľov diskutovať svoje príspevky, nápady v ňom, a účinnosť ich forme. V dôsledku toho, Coplien a Schmidt tvrdí, "Kapitoly v tejto knihe sú určite medzi najintenzívnejšie editovaných diel v súčasnej softvéru literatúre." To nie je prázdny tvrdenie, každá kapitola knihy je informatívny, dobre napísaný, a príjemné čítanie. Sekcia 1, 5, a 7 predstavujú vzory, ktoré sú, z väčšej časti, všeobecne na pojem objektovo orientovaného vývoja softvéru. V prvej časti, štyri kapitoly riešiť používanie vzorov v rozvojových rámcov a opakovane použiteľných komponentov. Tieto kapitoly tiež preukázať veľkú šírku vzoru literatúry. Kapitola 2, podľa Riehl a Zullighoven, opisuje vzor jazyk pre navrhovanie rámca z hľadiska nástrojov a materiálov. Oni extrapolácii z zaujímavú metaforu sadu návrhových vzorov, ktoré prezentujú vhľad do dizajnu väčšiny všetkých aplikačného rámca. Na druhú stranu, kapitola 1, Adams, predstavuje jeden vzor <Funkčnosť Ala Carte <behom dvoch stranách. Tento vzor rieši naliehavú tému, ako rozšíriť možnosti rámca, bez toho, aby viedlo k nežiaducemu kompromisov vo výkone. Kapitoly v § 5 sa pozrieť dovnútra k otázke klasifikácie vzorov. Dva z týchto kapitol sa zameriavajú na rôzne rozmery, podľa ktorej je možné vzory byť organizované tak, aby mohli príslušné vzorca môže byť identifikovaný návrhári softvéru presne v správnu chvíľu. Kapitola, ktorá som našiel najzaujímavejšie, však, bol Robert Martin katalóg vzorov, ktoré sa nachádzajú vo veľkom tele existujúceho kódu. Martinove vzory sú praktické pohľady na druhy rozhodnutí prijatých vývojári vo všetkých veľkých softvérových projektov. Napokon, § 7 zahŕňa vzory v dizajne jednotlivých objektov. ktoré podporujú opätovné použitie. Dva z týchto kapitol sú jedny z najlepších v knihe. Viljamaa je popis klienta určenom Self vzoru v kapitole 26 jasne explicates riešenie problému delegovanie zodpovednosti v kontextoch kde rolu, ktorú hrá objekt môže meniť dynamicky. V kapitole 27, Auer dáva vzor jazyk pre vytváranie objektov pomocou self-zapuzdrenie. Táto technika výsledky v objektoch, ktoré sú maximálne opakovane v kontexte ďalších podtried. Táto kapitola je tak dobrý, a rieši tak dôležitý problém, že by mala byť povinným čítaním pre všetky objektovo orientovaných programátorov. Oddiely 2, 6, a 8 sa zaoberajú vzory pre distribuované výpočty. Bohatstvo tejto oblasti viedla k bohatstvu práce v vzore spoločenstva o otázkach synchronizáciu, súbežnosť, integráciu aplikácií a spracovanie udalostí. Kapitoly v týchto sekciách predstaví modely, ktoré sú v záujme aj pre dizajnérov, ktorí nepracujú v tejto oblasti, ktoré tento recenzent je jedna. Ich hodnota vychádza z hodnoty vzoru formulára, ktorý podporuje diskusiu o problémoch a ich riešení na úrovni, ktorá robí zaujímavé rozhodnutie o návrhu explicitné a hmatateľná. Mnohé z týchto rozhodnutí sa objaví, aj keď v mierne rôznych formách, v iných typoch systémov, a tak sa vzory poskytovať formu inšpirácie, ktoré môžu inak byť k dispozícii. Medzi všeobecne prístupných kapitol v týchto častiach sú Mészáros "diskusia o Half-Object Plus protokolu vzor pre rozkladať jeden objekt cez viac počítačov tak, že je pre užívateľa transparentný a Schmidta reaktora vzor pre uznanie a odoslanie viac obslužných rutín udalostí v event-driven systém. Oddiel 3 je iba časť, ktorá je špecifická pre danú doménu, že podnikanie. Ako človek s modelmi skúsenosti s tvorbou obchodných procesov a odborných znalostí, našiel som tento štíhly časť troch kapitol, byť obrovského záujmu. Tieto kapitoly znovu preukázala veľkú šírku vzoru literatúry. Kapitola 11, o Wake, načrtáva jeden vzor pre objekty číslo účtu. Jeho krátka diskusia o otázkach, ktoré sú základom špecifikáciu, vytváranie a využívanie týchto objektov je prehľadný a plný dôležitých bodov. V kapitole 10, Cunningham vezme tému zdanlivé jednoduchosti <overenie údajov v systémoch vstupných <a remeslá bystrý jazykových jedenástich vzorov, ktoré zachytáva základné odborné znalosti pre zachovanie integrity informácií v rôznorodom softvérového systému. Oddiel 4 rozširuje tému s návrhom programu v názve knihy k jeho najširšom zmysle, že z procesu a organizácie v oblasti vývoja softvéru. Každá zo štyroch kapitol v tejto časti bude mať veľký význam pre každého, zaoberajúca sa procesu budovania veľkých softvérových systémov. Coplien tieto Kapitola 13 popisuje jazyk štyridsiatich dvoch vzorov pre generatívne vývoj kvalitného softvéru organizácie, ktorá je založená na rozsiahlej štúdie úspešných softvérových projektov. Tieto vzory pokrývajú celé spektrum činností od veľkosti Organizáciu pre kompenzáciu úspech. Kapitola 14, podľa Foote a Opdyke, predstavuje modely, ktoré sa zaoberajú otázkami evolúcie v objekte systémoch a ako návrhári môžu uľahčiť prirodzený tok z prototypu prostredníctvom rozšírenia zodpovednosti na konsolidáciu zrelých objektov v dodaného systému. Whitenack opisuje počiatky vzoru jazyk pre analýzu požiadaviek v kapitole 15.Napokon, v kapitole 16, Kertha hlási vzor jazyk zameraný na "očistenie" analytické fázy vývoja software. Jeho tvrdenie je, že ešte pred vznikom takých vzorov jazykov, * proces * analýzy a návrhu boli tak ťažké opísať, že konštrukčné úvahy (napr. objekty kategórie) sa stal zmiešali v analýze. Pokiaľ ide o knihy ako celku, tam je spoločný pocit všetkých osem častí, ktoré je neobvyklé vo väčšine zbierok konferenčných príspevkov. Vzor téma je ešte v živej komunite, a autori všetkých tridsiatich kapitol písali vzorov tak, že poskytuje výraznú jednotu ku knihe. Bohužiaľ, táto jednota tiež prejavuje vo forme značnej redundancie cez kapitole vysadení a bibliografií. V naratívny popisy vzorov Alexandra a inšpiráciou pre softvérové mne skutočne požičať krásny pocit homeyness na riadenie, ale opakované bibliografické záznamy, aby tieto citácie v celej papierov náročná úloha. Jeden vedľajší efekt je, že dokumenty môžu byť čítané relatívne nezávislé na sebe, aj keď by som navrhnúť podstatné čítanie knihy s cieľom získať plný dopad toho, čo modely majú ponúknuť. Novosť tejto oblasti, tiež znamená, že mnohí autori popisujú vzory, ktoré sú veľmi podobné ostatným popísaných inde v texte. Úloha, ktorý zostáva pre dizajn spoločenstva, je integrácia rôznych, ale podobný vzor jazykov, do ucelených celkov. Ale túto úlohu nebude jednoduchý, ako Kertha pojednáva v kapitole 16. Napokon, kniha ukazuje dobrú rovnováhu vzory, ktoré nie sú jazyk orientovaný ale ktoré sú často hlásená v súvislosti jediného jazyka (zvyčajne Smalltalk alebo C + +). Coplien a Schmidt sa zhromaždil veľmi čitateľný a informatívny prehľad o práci vykonanej na vzoroch pre navrhovanie softvéru. Uznávajú vo svojom úvode, že široká škála problémov a riešení uvedených v tomto prvom zväzku je náročné čitateľa, a že v dôsledku toho bude nie všetky kapitoly mať rovnakú záujme každého čitateľa. Súhlasím s týmto hodnotením, ale tiež som zajedno s ich povzbudenie, aby sa podieľal na všetkých osem častí. Po naskenovaní v knihe prvýkrát, moja myseľ bola pretekanie s nápadmi, ktoré boli buď zasadil, alebo prebudil rôznymi papiermi v knihe. Tieto myšlienky vyžiadali svoju druhú čítanie, počas ktorého som bol schopný zbierať význam niektorých kapitol na oveľa hlbšej úrovni. A ak máte iba obmedzený čas, odporúčame vám prečítať Oddiel 4 na proces a organizáciu. To ilustruje vzor prístup, zachytáva ducha skúmanie procesu za artefakt, a je vhodné pre čitateľa všetkých prostredí. Po prečítaní, budete takmer určite chcieť vrátiť pre ďalšie.   Preložené z http://www.cs.uni.edu/~wallingf/research/book-review-plopd1.html Homepage
...