public interface TextBoxFactory {
public TextBox TextBox makeTextBox();
}
public abstract class TextBox {
Mixin classes in CLOS are very similar to abstract base classes or interfaces in other object-oriented languages. Like interfaces in Java, they circumvent many of the issues associated with multiple-inheritence.
Imagine a senario in which one is tasked with building a platform-independent GUI framework. At the top of the widgit hierarchy sits a mixin WIDGIT-MIXIN:
(defclass widgit-mixin () ())
This is an example of using ReactJs to render a force directed network graph. D3 performs all the positional calculations for each node and React handles rendering.