none
Duvida sobre camadas e termos tecnicos RRS feed

  • Pergunta

  •  

    Olá,

     

    Gelera, estou pirando nos meus estudos..

     

    Estou precisando muitoooo aprender o uso de camadas para iniciar um projeto muito importante numa empresa muito grande.

     

    Basicamente, eu estou sendo responsavel por montar a arquitetura da solução.

     

    Ja fiz um modelinho, mais ainda não estou satisfeito e acho que não estou usando os reais conceitos de camadas.

     

    Bom, ja li muito na internet sobre isso, mais em todos os lugares eu vejo um monte de NOME DE CAMADA.

    e estou muito confuso...

     

    Por exemplo, qual a diferença de DAL com DAO?

    Qual deles é uma camada?

     

    Pq dizem que só existem 3 camadas se eu ja li algo do tipo "Camada de serviço, camada de aplicação, camada de dominio, camada de negocio"

     

    Poxa, não eram 3 camadas? ou sera q são 3 camadas, mais só mudam os nomes?

    Se for esse o caso (de mudar soh os nomes) então esta faltando uma padronização geral PRINCIPALMENTE nos ARTIGOS.

     

    agora se não for, então eu estou viajando legal.

     

    Alguem poderia comentar sobre essa minha questao?

     

    E se possivel uma descriação dos termos "DAO" "DAL" "Dominio" "Negocio" "Apresentação" "Facade"

    afff eh tanta coisa rsrs

     

    e se não for pedir muito, qual seria o MODELO DE UMA BOA SOLUÇÃO EM .NET??

     

    tipo...

    quais os projetos que devo criar numa solução?

     

    por exemplo:

     

    projeto DAO

    projeto NEGOCIO

    projeto SERVICO

    projeto APRESENTACAO

     

    e dentro de cada projeto desse, existiria qual estrutura de pastas?

    como ficaria dividido os cadastros e validações por exemplo...

     

    Eu sei que eh pedir muito, mais garanto que essas nomenclarutas estão confundidos muitas pessoas.

     

    E olha que eu ja li muitooooo!

     

    Muito obrigado pela atenção....

     

    quarta-feira, 10 de setembro de 2008 16:33

Respostas

Todas as Respostas

  • Boa tarde,

     

    eu poderia responder as essas suas perguntas, mas isso não iria resolver o seu problema e só geraria outras perguntas. Nessa situação sugiro que você faça duas coisas:

    1 - Não procure usar camadas só porque disseram pra você que você tem que usar, ou seja, não faça algo sem motivo. Só aplique algum tipo de conceito ou padrão de projeto se for necessário. Isso irá simplificar muito sua vida e evitar que você caia no próprio buraco.

     

    2 - Livros ainda são a melhor fonte de informação quando falamos de material completo e didático. Recomendo a leitura de alguns livros pra endereçar seu problema. Arquitetura não é algo que você monta da noite pro dia procurando na internet. Você pode até gerar alguma coisa fazendo dessa forma, mas uma hora ou outra você vai ter problemas.

     

    Os livros são:

     

    Applying Domain Driven Design and Patterns [Jimmy Nilsson]

    http://www.livrariacultura.com.br/scripts/cultura/resenha/resenha.asp?nitem=1372086&sid=19412718610721420241488667&k5=17287856&uid=

     

    Patterns of Enterprise Application Architecture [Martin Fowler]

    http://www.livrariacultura.com.br/scripts/cultura/resenha/resenha.asp?nitem=668559&sid=19412718610721420241488667&k5=3120F324&uid=

     

    The Pragmatic Programmer [Hunt, Thomas]

    http://www.livrariacultura.com.br/scripts/cultura/resenha/resenha.asp?nitem=384009&sid=19412718610721420241488667&k5=1921F269&uid=

     

    Refactoring to Patterns [Kerievsk]

    http://www.livrariacultura.com.br/scripts/cultura/resenha/resenha.asp?nitem=766140&sid=19412718610721420241488667&k5=1DF4E32&uid=

     

    Boa sorte!

     

     

     

    quarta-feira, 10 de setembro de 2008 19:17
  •  

    Amigo, me desculpe...

    Mais se eu estou dizendo que ja li igual um loko i naum consegui intende eh pq naum ta facil...

    livro e artigo eu ja axei de monte...

     

    Gostaria de uma ajuda d vdd !!

     

    Obrigado

     

    quinta-feira, 11 de setembro de 2008 13:37
  • Boa noite!

     

    Se você percorreu toda essa literatura e ainda assim está com essas dúvidas. Acredito que seja pouco provável que uma ou outra resposta irá te colocar no caminho certo. Talvez fosse a hora de deixar de ler um pouco e buscar a perfeição e tentar aplicar os conceitos da maneira que você entendeu pra ver no que dá. Só assim você irá aprender. De qualquer forma, vou tentar ajudar.

     

    DAL = Data Access Layer. Este é o nome da camada responsável por acesso a dados.

    DAO = Data Access Object. São os objetos que residem na DAL.

     

    Você perguntou se são 3 camadas ou não. Isso pode ser verdade ou não. Dependendo das suas necessidades você pode ter quantas camadas for necessário.

     

    Com relação a um bom modelo em .NET acredito que não há um. Cada caso é um caso. Uma arquitetura deve ser endereçada para resolver um problema. Eu sempre digo que não existem modelos de referência que servem para todos os casos.

     

    Você também pode dar uma olhada neste post do Waldemir que deve esclarecer bastante: http://blogs.msdn.com/wcamb/archive/2008/09/11/arquiteturas-de-solu-es-porque-organizar-preciso.aspx

     

    E para ver como esses conceitos são aplicados você pode baixar o Pet Shop 4.0 da Microsoft no link: http://msdn.microsoft.com/en-us/library/aa479071.aspx

     

    Outra fonte de informação, onde com certeza você deve achar essas respostas é no fórum do Grupo de Usuários de Java no link http://www.guj.com.br

     

    Imagino que não eram essas as respostas que você esperava, mas para definir a arquitetura de um sistema é necessário prática e mais do que isso, é necessário cometer os próprios erros não importando a quantidade de leitura que você tenha feito antes.

     

    Espero poder ter ajudado.

     

    sexta-feira, 12 de setembro de 2008 00:36
  • Olá Antonio,

     

    Cara...agora sim eu entendi!!

     

    Em relação a DAL e DAO td fico bem mais claro.

     

    Era mesmo o que eu imaginava.

     

    Muito obrigado pela resposta.

     

    Agora sobre as outras duvidas eu vou pesquisar mais, algumas coisas ja foram esclarecidas em outros foruns.

     

    Acredito que em mais umas duas semanas ja estarei melhor nisso..

     

    Obrigado

    sexta-feira, 12 de setembro de 2008 12:15
  •  

    Olá,

    é muito importante entender, antes de tudo, o que é uma camada. Este link pode te ajudar nesta tarefa:

    http://msdn.microsoft.com/en-us/library/aa905336.aspx

     

    Sobre o padrão de nomenclatura, a Microsoft tem um guia, que pode te colocar neste mundo facilmente:

    http://www.codeplex.com/AppArch

     

    Agora, não existe um padrão tão bem definido sobre nomenclatura. Cada um define um regra. Claro, a maioria segue padrões definidos por algumas grandes empresas, mas isso não é uma obrigação.

     

    Abraços.

    -- André

    terça-feira, 16 de setembro de 2008 12:36
  •  

    Olá ozzyvegeta,

     

    O número de camadas que você utilizará em seu projeto é muito relativo, ou seja, não existe uma receita de bolo onde se diz quantas camadas vc vai utilizar, pois vai realmente do feeling do arquiteto definir isso.

     

    Com isso, não se preocupe em pensar que seu projeto tem que ter todas as camadas existentes no mercado.

     

    Eu acredito que basicamente 2 camadas com certeza ela terá, aí se vc quiser isolar uma camada de negócio por exemplo, para deixar um componente responsável por ter as regras de negócio do seu sistemas, aí sim vc poderá criar uma terceira.

     

    Um forte abraço

    segunda-feira, 17 de novembro de 2008 18:11