Hönnunarmynstur

Hönnunarmynstur hjálpa hönnuðum að endurnýta aðferðir sem áður hafa reynst vel við lausn samskonar verkefna og endurnýta þannig þekkingu sem áður hefur myndast. En hvað eru hönnunarmynstur og til hvers eru þau höfð?

Upphaf hönnunarmynstra má rekja til arkitektsins Christopher Alexander prófessors við Berkeley. Árið 1977 var gefin út bók hans „A Pattern Language“ sem varð upphafið á notkun hönnunarmynstra til þess að leysa vandamál tengd hönnun á flóknum kerfum. Viðfangsefni hans var fyrst og fremst hönnun á byggingum og skipulag á borgarhverfum en hugmyndir hans hafa haft mun víðara notkunargildi.

Þær hugmyndir sem hann setti fram í þessari bók og öðrum sem fylgdu í kjölfarið hafa haft áhrif á það hvernig fengist er við vandamál á mörgum sviðum en þó sérstaklega í hugbúnaðargerð. Hönnunarmynstur hafa víða skírskotun því að þau eru tæki til að nota við lausn verkefna sem er eitthvað sem allir standa frammi fyrir daglega.

Síðan bók Christophers kom út hafa margir pappírar verið skrifaðir um hönnunarmynstur. Hvað varðar hugbúnaðargerð sérstaklega þá hafa Grady Booch, Erich Gamma og Kent Beck verið duglegir að birta efni þessu tengt og teljast vera helstu sérfræðingar á þeim vettvangi. Þegar bók sem Erich Gamma skrifaði ásamt þremur öðrum kom út árið 1995 varð sprenging á þessu sviði. Bókin sem í daglegu tali er kölluð Gang of Four en heitir í raun löngum titli sem byrjar á Design Patterns er án vafa áhrifamesta bók um hugbúnaðargerð sem skrifuð var á síðasta áratug.

En hvað eru hönnunarmynstur og til hvers eru þau höfð?

Hönnunarmynstur er lýsing á venslum tiltekins samhengis, vandamáls og lausnar. Hvert mynstur lýsir vandamáli sem kemur upp aftur og aftur í umhverfi okkar og kjarna lausnarinnar á því á þann hátt að hægt sé að endurnýta lausnina. Hönnunarmynstur er því lýsing á lausn á almennu vandamáli sem á við í einhverju tilteknu samhengi.

Hverju hönnunarmynstri er gefið nafn. Það eitt að gefa því nafn gerir það að verkum að einfalt er að tala um vandamálið og lausnina á abstrakt hátt þegar velt er fyrir sér mismunandi nálgunum að viðfangsefninu. Lýsa þarf vandamálinu og samhengi þess. Það er oft gert með því að tiltaka ákveðin skilyrði sem þurfa að vera fyrir hendi þannig að mynstrið eigi við. Lausninni er svo lýst á þann hátt að hún eigi við almenna tilfellið án þess að binda sig við ákveðna útfærslu.

Hönnunarmynstur hjálpa hönnuðum að endurnýta aðferðir sem áður hafa reynst vel við lausn samskonar verkefna og endurnýta þannig þekkingu sem áður hefur myndast. Hönnuður sem stendur frammi fyrir vandamáli getur leyst það með því að nota þekkt hönnunarmynstur sem vitað er að hafi reynst vel áður. Í stað þess að eyða orku og dýrmætum tíma í það að finna sjálfur einhverja lausn er hægt að byggja á reynslu margra annara af samskonar verkefnum og spara tíma og í mörgum tilfellum útfæra betri lausn en hægt hefði verið ef byrjað hefði verið frá grunni.

Góður árangur af notkun hönnunarmynstra innan hugbúnaðargerðar gæti verið fyrirmynd á öðrum sviðum og ætti að leiða til aukins áhuga á því að notfæra sér kosti þeirra á fleiri sviðum í framtíðinni. Á sama hátt og hugbúnaðargerð tileinkaði sér hugmyndir arkitektsins geta aðrar greinar notfært sér þá reynslu og þekkingu sem hefur myndast innan hennar vegna þess að hönnunarmynstur hafa víðtæka skírskotun í eðli sínu.

Latest posts by Eðvarð Jón Bjarnason (see all)