Arquitetura em camadas para Windows Forms Application
07/05/2014
0
Boa noite.
Normalmente vejo é num formulário de Cadastro de produto, ter todos os objetos de conexão com banco e utilizar um datareader para percorrer o banco quando necessário e popular os componentes em tela, como textbox ou combobox, o problema é que desta forma o mesmo codigo para obter os dados do produto por exemplo é criado novamente em outra tela, como numa tela de venda, onde teria que trazer novamente estas informações. Somente neste processo, ja tenho 2 vezes o mesmo codigo declarado em locais diferentes que fazer exatamente a mesma função.
Para uma aplicação desktop, compensa e existe algum Padrão de Arquitetura que possa separar a aplicação em camadas, pois procurei exemplos na internet, e todos ensinam um básico, mostrando um cadastro de clientes em três camadas, utilizando as vezes DLLs (BLL,DAL, MODEL) e outras separadas por namespace dentro de um unico projeto, mas nunca se aprofundam, detalhando como seria o relacionamento entre classes, como Produto, Venda e ItemVenda.
Desde já agradeço qualquer ajuda ou comentário.
Normalmente vejo é num formulário de Cadastro de produto, ter todos os objetos de conexão com banco e utilizar um datareader para percorrer o banco quando necessário e popular os componentes em tela, como textbox ou combobox, o problema é que desta forma o mesmo codigo para obter os dados do produto por exemplo é criado novamente em outra tela, como numa tela de venda, onde teria que trazer novamente estas informações. Somente neste processo, ja tenho 2 vezes o mesmo codigo declarado em locais diferentes que fazer exatamente a mesma função.
Para uma aplicação desktop, compensa e existe algum Padrão de Arquitetura que possa separar a aplicação em camadas, pois procurei exemplos na internet, e todos ensinam um básico, mostrando um cadastro de clientes em três camadas, utilizando as vezes DLLs (BLL,DAL, MODEL) e outras separadas por namespace dentro de um unico projeto, mas nunca se aprofundam, detalhando como seria o relacionamento entre classes, como Produto, Venda e ItemVenda.
Desde já agradeço qualquer ajuda ou comentário.
William Maximo
Curtir tópico
+ 0
Responder
Posts
29/05/2014
Joel Rodrigues
Olá, essa é uma divisão bastante comum. Qual é exatamente sua dúvida? Sobre o relacionamento entre as classes?
O Entity Framework relaciona essas classes quando você faz o mapeamento das tabelas. Em geral são criados relacionamentos das seguintes formas:
1) Relacionamento 1 para 1
ClasseA possui um atributo do tipo ClasseB e vice versa.
2) Relacionamento 1 para N
ClasseA possui uma lista (IEnumerable) de ClasseB.
3) Relacionamento N para N
ClasseA possui uma lista (IEnumerable) de ClasseB e vice versa.
O Entity Framework relaciona essas classes quando você faz o mapeamento das tabelas. Em geral são criados relacionamentos das seguintes formas:
1) Relacionamento 1 para 1
ClasseA possui um atributo do tipo ClasseB e vice versa.
2) Relacionamento 1 para N
ClasseA possui uma lista (IEnumerable) de ClasseB.
3) Relacionamento N para N
ClasseA possui uma lista (IEnumerable) de ClasseB e vice versa.
Responder
Clique aqui para fazer login e interagir na Comunidade :)