Deseja-se fornecer uma interface simples para um subsistema complexo
Existirem muitas dependências entre clientes e classes de implementação de uma abstração
Deseja-se estruturar seus subsistemas em camadas
Composição do Façade
Consequências do Façade
Isola clientes dos componentes do subsistema, tornando mais fácil
Promove um acoplamento fraco entre o subsistema e seus clientes.
Não impede as aplicações de utilizarem as classes do subsistema caso necessitem fazê-lo.
Contribuição no Projeto
O Uso do Padrão Façade facilitou o acesso e a criação dos objetos Agência e Carro e diminuiu a dependencia entre essas classes já que o acesso a partir de agora passa necessariamente pela classe Facade.