Decorator.
Factory.