duplizierter Code wird verhindert/entfernt durch
 
- Schablonen (beschreiben das Gemeinsame)
- mit Parametern (beschreiben die Unterschiede).
Beispiel dafür:
  
- Unterprogramm (Parameter: Daten, Resultat: Programm)
- polymorphe Klasse (Parameter: Typen, Resultat: Typ)
- Unterprogramm höherer Ordnung (Parameter: Programm, Resultat: Programm)
  
wenn Programme als Parameter nicht erlaubt sind (Java), 
  dann werden sie als Methoden von Objekten versteckt 
  (vgl. Entwurfsmuster Besucher)
2009-06-15