Usuário com melhor resposta
Projeto em n-camadas referencias e dúvidas?

Pergunta
-
Boa tarde pessoal!
Primeiramente gostaria de pedir referencias de livros que mencione a arquitetura de n-camadas, para colocar em minha monografia.
Estou montando uma aplicação em n-camadas segue:
- Camada de Apresentação - web form e code behind
- Camada de Lógica de Negócio - validações especificas, calculos...
- Camada de Acesso a Dados - classe genérica e classes de entidade
- Camada de Entidades - Gostaria de saber se posso considerar essas classes de entidade geradas pelo entity framework como sendo uma camada e pq ela pode ser acessada de todas as outras camadas?
- Movido AndreAlvesLima quarta-feira, 17 de outubro de 2012 11:54 (De:Visual Studio - Geral)
Respostas
-
Eu deixo as entidades na Camada de Negócios. Existe um site muito bom que tem um tutorial sobre camadas:
http://www.macoratti.net/cshp_3c1.htm
E tem alguns livros:
http://www.camachojunior.com.br/index.php?option=com_content&task=view&id=53&Itemid=30
http://www.conhecaolivreiro.com.br/pdf/livros/cultura/1858087.pdf
Esse ultimo é um tutorial feito pelo autor do livro que eu te mandei!
- Marcado como Resposta JuniorMandrakeCsharp quinta-feira, 4 de outubro de 2012 11:29
Todas as Respostas
-
Eu deixo as entidades na Camada de Negócios. Existe um site muito bom que tem um tutorial sobre camadas:
http://www.macoratti.net/cshp_3c1.htm
E tem alguns livros:
http://www.camachojunior.com.br/index.php?option=com_content&task=view&id=53&Itemid=30
http://www.conhecaolivreiro.com.br/pdf/livros/cultura/1858087.pdf
Esse ultimo é um tutorial feito pelo autor do livro que eu te mandei!
- Marcado como Resposta JuniorMandrakeCsharp quinta-feira, 4 de outubro de 2012 11:29
-
-
Olha Junior, eu sou bem novato nesse assunto. Anyway, não faço uso do entity framework, faço tudo na mão mesmo. E eu aprendi desse jeito (colocar as entidades na camada de negócio). Porém, dentro da camada de negócio, eu crio uma pasta só para entidades, logo o Visual Studio meio que ja cria um namespace para tudo que é criado lá dentro. Então, eu uso a msm camada física, porém, dentro da camada de negócio, existe uma camada lógica só para entidades.
Deu pra entender ou eu fui meio confuso?
-
Amigo, faça no entity framework e veja que ele gera um série de classes de entidades. Não sei, na minha opinião isso pertence a camada de acesso a dados, porém ela deve ser acessada de todas as outras camadas através da importação da camada de dados.Esse processo é feito para que se utilize um objeto fortemente tipado, mas que descaracteriza ela como sendo uma camada de acesso a dados, pois ela pode ser acessada pela camada de apresentacao o que não é permitido na aquitetura de n-camadas que diz que a camada de acesso a dados deve se comunicar apenas com a camada de regras de negocios.
Valew pela ajuda! Abraço!
-
-
Bom dia,
Uma idéia: na camada de negócio, crie entidades específicas para as regras de negócio do seu sistema, sem se preocupar tanto como serão persistidadas no banco.
Na sua camada de acesso a dados, crie as entidades do entity framework e crie algum mecanismo para mapear as entidades do entity para as entidades de negócio e vice e versa. Desta forma, sua camada de negócio, fica bem isolada da de acesso a dados e você fica livre para implementar qualquer framework de dados da sua preferencia. Você teria que escrever um pouco mais de códigos mas pode valer a pena.
Att, Vitor Hugo Salgado
-
Junior,
eu uso como base os modelos de arquiteturas abaixo:
Layered Architecture Sample for .NET
(Modelo de arquitetura com código fonte de exemplo)
http://layersample.codeplex.com/
Web Service Software Factory
(Extension para VS para Guideline de Arquitetura Orientada a Serviço)
http://servicefactory.codeplex.com/
Microsoft Application Architecture Guide, 2nd Edition
(Guia principal de arquitetura que ambos links acima usaram como base)
http://msdn.microsoft.com/en-us/library/ff650706
[]s
Carlos AraujoCarlos Araujo
-
Olha Junior, eu sou bem novato nesse assunto. Anyway, não faço uso do entity framework, faço tudo na mão mesmo. E eu aprendi desse jeito (colocar as entidades na camada de negócio). Porém, dentro da camada de negócio, eu crio uma pasta só para entidades, logo o Visual Studio meio que ja cria um namespace para tudo que é criado lá dentro. Então, eu uso a msm camada física, porém, dentro da camada de negócio, existe uma camada lógica só para entidades.
Deu pra entender ou eu fui meio confuso?
Dainel,
Você utiliza sua camada de negocio junto com a sua camada de entidade? Se a ideia é desacoplar, como seria, se caso algum dia você queira alterar apenas a referencia da sua camada de negocio? Nao alterando nenhuma entidade?
Você nao acha que tem um risco com isso?
A ideia do Entity Framework é muito boa, hoje, ele está muito estavel.
Att,
Nicolas Tarzia