Desenvolvimento a partir do MVC.
Estou desenvolvendo uma aplicação simples, mas gostaria de implementá-la usando MVC.
Classes existentes:
- Apresentação: Cliente.jsf, Telefone.jsf etc.
- Controle: ClienteMB, TelefoneMB etc.
- Entidade: Cliente, Telefone etc
- DAO: ClienteDAO, TelefoneDAO etc.
Pergunta: Mesmo a minha classe ClienteMB sendo simples, com os métodos Incluir, Alterar e Excluir
eu preciso de uma classe ClienteService(há apenas uma única linha de código que chama a classe ClienteDAO)?
Ou eu posso chamar o ClienteDAO a partir de ClienteMB sem a necessidade da criação da classe ClienteService(pois A Service neste exemplo seria muita simples: existe apenas uma única linha que chama a classe ClienteDAO)?
A criação das classes ClienteService e TelefoneService são obrigatórias e essencias a todo e qualquer projeto baseado
em MVC? Ou depende da complexidade de cada projeto? Uns usam e outros não usam?
public class ClienteMB{
private Cliente cliente;
public ClienteMB {
}
public String incluir(){
cliente = new Cliente();
cliente.setId(getCodigo());
cliente.setNome(getNomeCliente());
...
}
public String alterar(){
...
}
public String apagar(){
...
}
}
public class ClienteDAO {
public ClienteDAO {
}
public String incluir(){
...
}
public String alterar(){
...
}
public String apagar(){
...
}
}
Vocês podem esclarecer estas dúvidas?
Obrigado pela atenção.
Régis.
Classes existentes:
- Apresentação: Cliente.jsf, Telefone.jsf etc.
- Controle: ClienteMB, TelefoneMB etc.
- Entidade: Cliente, Telefone etc
- DAO: ClienteDAO, TelefoneDAO etc.
Pergunta: Mesmo a minha classe ClienteMB sendo simples, com os métodos Incluir, Alterar e Excluir
eu preciso de uma classe ClienteService(há apenas uma única linha de código que chama a classe ClienteDAO)?
Ou eu posso chamar o ClienteDAO a partir de ClienteMB sem a necessidade da criação da classe ClienteService(pois A Service neste exemplo seria muita simples: existe apenas uma única linha que chama a classe ClienteDAO)?
A criação das classes ClienteService e TelefoneService são obrigatórias e essencias a todo e qualquer projeto baseado
em MVC? Ou depende da complexidade de cada projeto? Uns usam e outros não usam?
public class ClienteMB{
private Cliente cliente;
public ClienteMB {
}
public String incluir(){
cliente = new Cliente();
cliente.setId(getCodigo());
cliente.setNome(getNomeCliente());
...
}
public String alterar(){
...
}
public String apagar(){
...
}
}
public class ClienteDAO {
public ClienteDAO {
}
public String incluir(){
...
}
public String alterar(){
...
}
public String apagar(){
...
}
}
Vocês podem esclarecer estas dúvidas?
Obrigado pela atenção.
Régis.
Régis Santos
Curtidas 0
Respostas
Davi Costa
12/06/2012
O ideal é que deixemos a regra de negócio específica da sua app nessa camada Service que vc citou.
Na DAO apenas o CRUD completo.
Se a sua app apenas faz CRUD sem regra de negócio, não vejo o pq dessa camada service a mais.
Mas cuidado para não deixar negócio na camada DAO, isso pode trazer problemas caso o sistema evolua, por isso se usa tanto o service. Porém se vc sabe previamente que não terá regras de negócios complexas (ou seja anada além de CRUDs básicos) você pode ficar sem a camada service
att Davi
Na DAO apenas o CRUD completo.
Se a sua app apenas faz CRUD sem regra de negócio, não vejo o pq dessa camada service a mais.
Mas cuidado para não deixar negócio na camada DAO, isso pode trazer problemas caso o sistema evolua, por isso se usa tanto o service. Porém se vc sabe previamente que não terá regras de negócios complexas (ou seja anada além de CRUDs básicos) você pode ficar sem a camada service
att Davi
GOSTEI 0
Régis Santos
12/06/2012
Obrigado pela resposta!
Sua resposta muito contribuiu para a miha decisão.
Em meus projetos existiam mais ou menos 20% com necessidade de utilização de classes do tipo SERVICE.
A partir disto resolvi colocar classes do tipo SERVICE nas outras restantes para que o projeto inteiro já esteja
preparado para o futuro, ou melhor preparado para evoluir.
Régis.
Sua resposta muito contribuiu para a miha decisão.
Em meus projetos existiam mais ou menos 20% com necessidade de utilização de classes do tipo SERVICE.
A partir disto resolvi colocar classes do tipo SERVICE nas outras restantes para que o projeto inteiro já esteja
preparado para o futuro, ou melhor preparado para evoluir.
Régis.
GOSTEI 0
Davi Costa
12/06/2012
Show de bola Régis!
Sucesso!
Att Davi
Sucesso!
Att Davi
GOSTEI 0
Régis Santos
12/06/2012
Obrigado!
Régis
Régis
GOSTEI 0