Composite, Builder, Abstract Factory, Visitor, Prototype Patterns