Design patterns podem ser divididos em três categorias: creational, structural e behavioral. Um dos design patterns da categoria creational garante para uma classe específica, apenas uma única instância, a qual é acessível de forma global e uniforme. Este design pattern é conhecido como