Eu procurei na net definições por façade e fala que façade é um objeto que disponibiliza uma interface para uma grande quantidade de funcionalidades de uma API.
Bom o que seria na prática
Me corrijam se eu entendi errado
em um sistema de vendas, eu tenho a classe Cliente, Funcionário, Produto, o façade dessa classe seria uma classe Vendas que teria dentro dela um cliente, um funcionário e vários produtos?
vamos supor que para um funcionario vender um produto para um cliente vc teria de verificar se o cliente nao esta inadimplente, para isso teria de fazer consulta em diversas api ou serviços.
entao vc cria uma fachada que simplifica todo esse processo
ex:
Cliente seuCliente = new Cliente(1);
SistemaDoBanco sistemaDoBanco = new SistemaDoBanco(seuCliente);
SistemaDeEmprestimo sistemaDeEmprestimo = new SistemaDeEmprestimo(seuCliente);
if(!sistemaDoBanco.isClienteInadimplente() && !sistemaDeEmprestimo.clienteDeveDinheiro()) {
// vende
}
com fachada vc encapsula todas as particularidades do SistemaDoBanco e do SistemaDeEmprestimo e demais consultas futuras.
Eu vou dar monitoria de java para o terceiro ano e o professor passou esse facade pra galera, e está sendo o terror dos cara hehe, mvc e tals, mvc eu já sei, só que esse façade eu nunca tinha ouvido falar
Eu pretendo passar um projetinho simples de cadastro de cliente, funcionário, produto e vendas, com interface gráfica e acesso ao banco de dados
Tenho uma classe Pessoa, clinte e funcionários herdam Pessoa e tem seus atributos respectivos.
A classe Produto tem o valor do produto, nome e código
A classe Venda tem a quantidade de produtos vendidos, o código do cliente e o código do vendedor
O sistema só irá calcular o valor total da venda e salvar no banco
Agora a dúvida, como eu implementaria o façade ae?
A classe Venda já seria considerado um façado por tratar de métodos como cálculoDaVenda e coisas do tipo?
Humm pensei em algo que parece ser um façade hehehe
Ex.
A classe vendas precisa ter o Atributo cliente, Produto e Funcionário, em vez de eu adicionar esses atributos direto na classe vendas eu crio um Façade com todos esses atributos e pela classe Vendas eu acesso o Façade com todos esses atributos
Eu procurei na net definições por façade e fala que façade é um objeto que disponibiliza uma interface para uma grande quantidade de funcionalidades de uma API.
Bom o que seria na prática
Me corrijam se eu entendi errado
em um sistema de vendas, eu tenho a classe Cliente, Funcionário, Produto, o façade dessa classe seria uma classe Vendas que teria dentro dela um cliente, um funcionário e vários produtos?
Att.[/quote]
Façade é um objeto/classe que serve como uma interface de suporte entre o banco de dados e a camada visão, onde geralmente é tratado tudo equivalente à tratamento de dados na parte servidor(camada de negocio)
Me corrijam se estiver errado.
Humm então por exemplo, eu tenho minhas classesDAO que carregam os objetos e tals, em vez de eu chamar os métodos dessas classes DAO eu crio um façade que tera métodos que ira conter tudo que eu preciso para preencher os dados, por exemplo uma tabela, ou em vez de eu chamar um método direto pra adicionar um cliente, eu passo esse cliente pro façade e ele faz a ligação com as classes DAO
Façade seria uma simplificação de um sistema através de uma interface mais enxuta.
Por exemplo se vc tiver algumas classes que precisam ser instânciadas para realizar uma determinada tarefa em conjunto, vc teria um trabalho maior para realizar essa tarefa, e teria que conhecer em detalhes todas as classes e seu métodos necessários para realizar a tarefa, vc pode simplificar a vida de quem vai ter que usar essa tarefa, criando uma fachada que faz todo esse trabalho a um nivel maior, sem que o cliente precise saber os detalhes, ao mesmo tempo que ainda permite que ele continue acessando as classes de nível mais baixo
então um exemplo de façada, seria a efetuação de uma venda, que precisa ter um objeto cliente, funcionário e um array de produto
Faço um façade para vendas que teria os métodos nos quais utilizam 3 objetos diferentes e quando eu for cadastrar a venda eu só chamo esse objeto façade q auxília no serviço
public fachadaAplicacao(){
Aplicacao ap = new Aplicacao();
}
public void setMoeda(int a, String b){
ap.setMoeda(a,b);
}
public Moeda getMoeda(String id){
ap.getMoeda(id);
}
[quote=renanreismartins]vamos supor que para um funcionario vender um produto para um cliente vc teria de verificar se o cliente nao esta inadimplente, para isso teria de fazer consulta em diversas api ou serviços.
entao vc cria uma fachada que simplifica todo esse processo
ex:
Cliente seuCliente = new Cliente(1);
SistemaDoBanco sistemaDoBanco = new SistemaDoBanco(seuCliente);
SistemaDeEmprestimo sistemaDeEmprestimo = new SistemaDeEmprestimo(seuCliente);
if(!sistemaDoBanco.isClienteInadimplente() && !sistemaDeEmprestimo.clienteDeveDinheiro()) {
// vende
}
com fachada vc encapsula todas as particularidades do SistemaDoBanco e do SistemaDeEmprestimo e demais consultas futuras.