quarta-feira, 5 de dezembro de 2012

Arquitetura MVC, BEAN, DAO e BO

Esses dias estava meio em dúvida sobre como utilizar o Bean, Dao e BO, que são do modelo MVC. Dei uma olhada na net e achei umas coisas bem interessantes que vou passar aqui agora pra vocês.

bom primeiramente vou explicar para vocês o que é MVC, Bean, Dao e BO.

MVC

O MVC (Model, View e Controller) é uma arquitetura ou padrão que lhe permite dividir as funcionalidades de seu sistema/site em camadas, essa divisão é realizada para facilitar resolução de um problema maior.



Definição por camadas

Modelo

O modelo (Model) é utilizado para manipular informações de forma mais detalhada, sendo recomendado que, sempre que possível, se utilize dos modelos para realizar consultas, cálculos e todas as regras de negócio do nosso site ou sistema. É o modelo que tem acesso a toda e qualquer informação sendo essa vinda de um banco de dados, arquivo XML.

Visão
A visão (view) é responsável por tudo que o usuário final visualiza, toda a interface, informação, não importando sua fonte de origem, é exibida graças a camada de visão.

Controladora
A Controladora (controller), como o nome já sugere, é responsável por controlar todo o fluxo de informação que passa pelo site/sistema. É na controladora que se decide “se”, “o que”, “quando” e “onde” deve funcionar. Define quais informações devem ser geradas, quais regras devem ser acionadas e para onde as informações devem ir, é na controladora que essas operações devem ser executadas.

BO (Business Object)

Objeto de negócios (BO) são usados em programação orientada a objeto, ele é uma representação de partes de um negócio, este pode representar, por exemplo, uma pessoa, lugar, evento, processo de negócio ou conceito.

Embora as classes podem conter execução ou comportamentos de gestão, um objeto de negócio é geralmente inerte a conjuntos de titulação de variáveis ​​de instância ou propriedades. Um BO também pode fazer solicitações de dados do cliente para o Data Access Object (DAO)

BEAN

Praticamente são classes escritas de acordo com uma convenção em particular. São usados para encapsular muitos objetos em um único objeto (o bean), assim eles podem ser transmitidos como um único objeto em vez de vários objetos individuais. O JavaBean é um Objeto Java que é serializavel, possui um construtor nulo e permite acesso às suas propriedades através de métodos getter e setter.

DAO

O DAO funciona como um tradutor dos mundos. Suponha um banco relacional. O DAO deve saber buscar os dados do banco e converter em objetos para ser usado pela aplicação. Semelhantemente, deve saber como pegar os objetos, converter em instruções SQL e mandar para o banco de dados. É assim que um DAO trabalha.

Geralmente, temos um DAO para cada objeto do domínio do sistema (Produto, Cliente, Compra, etc.), ou então para cada módulo, ou conjunto de entidades fortemente relacionadas.

EXEMPLO UTILIZANDO BEAN, BO e DAO

vou criar uma classe de cada um explicando o envolvimento delas.

Classe BEAN
public class Pessoa {
    private String nome; 
    private String idade; 

    public String getNome() { 
        return nome; 
    } 
    public void setNome(String nome) { 
        this.nome = nome; 
    } 
    public String getIdade() { 
         return idade; 
    } 
    public void setIdade(String idade) { 
        this.idade = idade; 
    } 
}

Classe BO
public class PessoaBO { 
    public void novaPessoa(Pessoa pessoa) {
        new PessoaDAO().savePessoa(pessoa)
    }
    public List<Pessoa> PegarPessoas(){

        new PessoaDAO().getPessoas();
    }
}


Classe DAO
public class PessoaDAO {
    public void savePessoa(Pessoa pessoa){
        //CODIFICAÇÃO AKI
    } 

    public void deletePessoa(Pessoa pessoa){
        //CODIFICAÇÃO AKI
    } 

    public List<Pessoa> getPessoas(){
        //CODIFICAÇÃO AKI
        return list; 

    }
}

 
 
Bom espero ter ajudado
Qualquer dúvida, reclamação ou sugestão para posts, entrar em contato..

Até a proxima.

Referência
http://www.oficinadanet.com.br/artigo/desenvolvimento/o_que_e_model-view-controller_mvc
http://javafree.uol.com.br/artigo/871452/Introducao-ao-pattern-DAO.html
http://pt.wikipedia.org/wiki/JavaBeans

2 comentários: