Privacy Policy Cookie Policy Terms and Conditions Schablonenmethode - Wikipedia

Schablonenmethode

aus Wikipedia, der freien Enzyklopädie

Schablonenmethode Klassendiagramm.
vergrößern
Schablonenmethode Klassendiagramm.

Die Schablonenmethode (engl. template method) ist ein in der Softwareentwicklung eingesetztes Entwurfsmuster und wird für Algorithmen verwendet. Es gehört zur Kategorie der Verhaltensmuster (engl. behavorial patterns). Das Muster ist eines der sogenannten GoF-Muster (siehe Viererbande).


Dabei wird in einer abstrakten Klasse ein Skelett eines Algorithmus in einer Operation definiert. Die konkrete Ausformung der einzelnen Schritte des Algorithmus wird an die Unterklassen delegiert. Dies ermöglicht, einzelne Schritte eines Algorithmus zu modifizieren oder zu überschreiben, ohne dass die grundlegende Struktur des Algorithmus verändert wird.

Ein Beispiel dazu findet sich im Stream I/O API von Java. Ein OutputStream bietet eine konkrete Methode zum Schreiben eines Byte-Arrays. Diese Methode ist dort so implementiert, dass sie die Methode zum Schreiben eines einzelnen Bytes nutzt, um das ganze Array nach und nach zu schreiben. Die Methode für das einzelne Byte ist jedoch noch abstrakt, da ein OutputStream selber noch nicht spezifisch ist. Klassen wie FileOutputStream können diese Methode implementieren und sie erben automatisch eine bereits funktionierende Methode zum Schreiben eines Byte-Arrays.

Andere Sprachen

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -