Padrões de projeto criacionais
Os padrões criacionais fornecem vários mecanismos de criação de objetos, que aumentam a flexibilidade e reutilização de código já existente.
Fornece uma interface para criar objetos em uma superclasse, mas permite que as subclasses alterem o tipo de objetos que serão criados.
Abstract FactoryPermite que você produza famílias de objetos relacionados sem ter que especificar suas classes concretas.
BuilderPermite construir objetos complexos passo a passo. O padrão permite produzir diferentes tipos e representações de um objeto usando o mesmo código de construção.
PrototypePermite que você copie objetos existentes sem fazer seu código ficar dependente de suas classes.
SingletonPermite a você garantir que uma classe tem apenas uma instância, enquanto provê um ponto de acesso global para esta instância.