Factory method, Builder, Prototype, Singleton