Als Mixin wird in der objektorientierten Programmierung ein zusammengehöriges, mehrfach verwendbares Bündel von Funktionalität bezeichnet, das zu einer Klasse hinzugefügt werden kann. Von manchen Programmiersprachen werden Mixins direkt unterstützt, beispielsweise von Ruby, Scala oder Go. In anderen Sprachen wird dieses Entwurfsmuster abhängig von den Möglichkeiten der jeweiligen Programmiersprache beispielsweise mittels Mixin-Klassen in Verbindung mit Mehrfachvererbung oder, wie z. B. in JavaScript, mittels generischer Programmierung umgesetzt.