Padrão Singleton:
Tem a vantagem de permitir acesso controlado à instância de uma classe, uma vez que ele encapsula a classe, criando um ponto global único de acesso.
Padrão Adaptar:
Além de converter a interface de uma classe existente em outra interface esperada pelos clientes, permite que algumas classes com interfaces diferentes funcionem conjuntamente.
Factory method:
Definir uma interface para criar um objeto mas deixar que subclasses decidam que classe instanciar.
Proxy:
É encapsular um objeto através de um outro objeto que possui a mesma interface, de forma que o segundo objeto, conhecido Proxy, controla o acesso ao primeiro.