none
Projeto em n-camadas referencias e dúvidas? RRS feed

  • 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)
    quarta-feira, 3 de outubro de 2012 17:40

Respostas

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

    http://imasters.com.br/artigo/10381/dotnet/guia-pratico-para-o-desenvolvimento-de-aplicacoes-c-em-camadas

    Esse ultimo é um tutorial feito pelo autor do livro que eu te mandei!

    quarta-feira, 3 de outubro de 2012 19:08
  • Obrigado Daniel! Acredito que vá ajudar. 

    Só não entendi porque você cria as entidades (usa o entity framework ? ) na camada de negócio. Você considera as entidades  como sendo um camada do sistema?

    quarta-feira, 3 de outubro de 2012 20:08
  • 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?

    quarta-feira, 3 de outubro de 2012 21:02
  • 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!

    quinta-feira, 4 de outubro de 2012 11:28
  • Você tem algum bom tutorial sobre entity framework? Estou fazendo um projeto também que estou usando camadas.

    =D

    quinta-feira, 4 de outubro de 2012 17:03
  • 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

    sexta-feira, 19 de outubro de 2012 14:50
  • 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 Araujo


    Carlos Araujo

    quinta-feira, 25 de outubro de 2012 12:35
  • 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


    Nicolas Tarzia - Desenvolvedor de Software

    quinta-feira, 25 de outubro de 2012 14:18