Mixin
Appearance
In computer science, a mixin is a group of functions which can be mixed into a class and become methods. They allow certain classes to take on certain functionality in an object-oriented programming language (including languages that do not support multiple inheritance), just as if the class were a cooking dish and a mixin was a specific ingredient.
Some of the functionality of mixins is provided by interfaces (interface (computer science)) in popular languages like Java and C#, but since an interface only specifies what the class must support and cannot provide an implementation, they are only useful for providing Polymorphism (computer science) and not for refactoring common behavior into a single place.