Duck Typing

Duck Typing bedeutet, dass die Klassenzugehörigkeit einer Instanz nicht berücksichtigt wird, sondern nur die für die Instanz zur Verfügung stehenden Methoden.

Diese Technik kann in Programmiersprachen mit dynamischer Typisierung verwendet werden, bei denen der Typ bzw. die Klasse eines Parameters oder einer Variable nicht angegeben und damit eingeschränkt werden.

Die konsequente Verwendung von Duck Typing wirkt sich auf den Programmierstil aus:

- Es gibt keine tiefen Klassenhierarchien, da gleichnamige Methoden in verschiedenen Klassen ohne eine Vererbungsbeziehung verwendet werden können.
- Es werden keine Interfaces oder abstrakte Klassen definiert.
- Dadurch ist eine stärkere Entkopplung der Programmbestandteile gegeben.


Quellen

http://de.wikipedia.org/wiki/Duck-Typing
Russ Olsen, "Eloquent Ruby", Seiten 88ff