Olá amigos, estou envolvido num projeto onde necessita o conhecimento desses patterns acima.
Peço aos amigos um exemplo de implementação desses patterns… estudei bastante no forum/google onde tem muita informação boa.
mais não consegui elaborar um “caso de estudo” para aplicar-los.
Se os amigos tiverem alguns fontes do qual aplicam esses patterns e queira compartilhar… ficaria bastante grato!.
Alguêm se abilitaria?
:roll:
Cara VO é o mais simples. La vai um exemplo:
public class Pessoa{
string nome;
string cpf;
getters e setters
}
DAO é a classe onde vc encapsula suas chamadas ao meio de persistencia, seja BD,XML ou outro tipo.
Exemplo:
public class PessoaDAO {
public void inserePessoa(Pessoa pessoa);
public Pessoa obterPessoaPorId(long id){
}
....
}
O Facade é quando vc quer esconder uma logica mais complexa de alguma camada do seu sistema encapsulando-a numa classe qualquer. Por exemplo um controle remoto, para vc ligar a tv precisaria de varias coisas e ele lhe fornece apenas um botao ligar transformando-o em fachada para o sistema. Espero ter ajudado
Alberto
fala cara muito obrigado pelo help…
-
mais então quer dizer que o VO/TO seria um JavaBean simples?, quase um POJO ?.
-
O conceito de DAO peguei legal por ja ter trampado com ele… que é o tal de encapsular as regras de negócio do banco
-
Só folta o façade!!! que não entendi!!..
vc poderia implementar um exemplo de controle remoto ?.
exemplo vou montar meu VO/TO:
ControleRemotoVO
package bean;
public class ControleRemotoVO {
int largura;
int altura;
int distânciaQuePega;
boolean luminoso;
public int getAltura() {
return altura;
}
public void setAltura(int altura) {
this.altura = altura;
}
public int getDistânciaQuePega() {
return distânciaQuePega;
}
public void setDistânciaQuePega(int distânciaQuePega) {
this.distânciaQuePega = distânciaQuePega;
}
public int getLargura() {
return largura;
}
public void setLargura(int largura) {
this.largura = largura;
}
public boolean isLuminoso() {
return luminoso;
}
public void setLuminoso(boolean luminoso) {
this.luminoso = luminoso;
}
}
ControleRemotoDAO
package dao;
public class ControleRemotoDAO {
public boolean ligaTv(){
return true;
}
public boolean desligaTv(){
return true;
}
[b]public boolean mudaCanal(){[/b]
return true;
}
}
O metodo muda canal poderiamos trabalhar com CONSTANTES ou passar um objeto( Canal ) que cuida dos canais propriamente dito… tipo : “1,2,3,4,5,6…” e que poderia trabalhar com senha pra liberação do canal e etc…
Onde entraria o façade agora?
O seu controle remotoDAO é o facade. Ó que bom, vc fez so nao sabia que nome dar. Desligar a TV possui uma logica mais complexa mas vc colocou para a camada superior so uma simples chamada desligar. Isso é o facade, esconder uma logica mais doida expondo so um metodo de granularidade grossa.
Alberto
[quote=alots_ssa]Cara VO é o mais simples. La vai um exemplo:
public class Pessoa{
string nome;
string cpf;
getters e setters
}
[/quote]
Cara Value Object não é bem assim não da uma olhada. Se vc quiser uma referencia melhor procura Moeda que é um tipo de value object.
http://www.martinfowler.com/eaaCatalog/index.html
Java Man da uma olhada no link tambem