Usuário com melhor resposta
Desenvolvimento 3 camadas - Metodos para checagem de campos

Pergunta
-
Bom dia!!
Estou desenvolvendo um pqno projeto em C# e estou usando 3 camadas.
Estou fazendo uma pqna classe que ira validar os dados antes do cadastro.
Checar se CPF/CNPJ é valido, se a imagem é valida coisas do tipo.
Ai veio a dúvida em que camada devo colocar esta classe?
Seria na camada BLL? E quando eu for fazer os cadastros chamar esta classe nas classes responsável pelos cadastros?
Muito obrigado
Luiz Pires JP4 Desenvolvimento http://jp4.com.br
Respostas
-
Concordo com o Silvaney,
Vejo diferença entre validação de regras de negócio, que estão intrinsecamente ligadas ao processo executado pela tua aplicação, das validações de preenchimento e formatação de campos.
Se você está preenchendo um campo e precisa que ele tenha 3 caracteres e apenas dígitos, ainda não saiu da camada de apresentação, quando esse dado passa a ser manipulado e a influenciar entidades, aí sim, vejo uma validação de negócio.
Mas como dito anteriormente, é uma questão de prisma e essa definição deve ser discutida a nível de projeto pela equipe.
Boa sorte !
Att,
Antero Marques
__________________________________________________________________________
Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta.
O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.
- Marcado como Resposta Marcos SJ sexta-feira, 8 de abril de 2016 17:21
- Editado Antero Marques domingo, 10 de abril de 2016 21:13
-
Crie uma Class Library e va adicionando como referencia . Com o Class Library, você consegue reaproveitar esta dll em outros projetos
Lucas Lima
- Editado Lucas Lima sexta-feira, 8 de abril de 2016 13:48
- Marcado como Resposta Levi DomingosModerator domingo, 10 de abril de 2016 17:10
-
Bom dia JP4 Desenvolvimento,
Sim, se for validação de regra via webservice do cpf/cnpj (para consultas por exemplo) deverá ser feita na camada BLL. Validação de formatação ou entrada de usuário, faça no UI utilizando Javascript. Dentro da BLL, você pode implementar interfaces. Utilize DTO's para trafegar objetos entre as camadas. Na camada DAL faça o cadastro deste cpf/ cnpj.
Ficaria assim:
DTO (contem as classes do seu negócio)
UI - referenciando BLL e DTO
BLL (contendo interfaces) - referenciando DTO e DAL
DAL - referenciando DTO
Lucas Lima
- Editado Lucas Lima sexta-feira, 8 de abril de 2016 12:24
- Marcado como Resposta Levi DomingosModerator domingo, 10 de abril de 2016 17:10
-
Bom dia
Essa questão é bastante polêmica, pois as pessoas possuem idéias e pensamentos diferentes.
No meu ponto de vista não seria incorreto validar na BLL. Mas particularmente eu utilizo a BLL apenas para regras de negócio e não validações de telas. Mas como citado anteriormente, no ponto de vista de algumas pessoas as validações de telas são também regras de negócio.
O pessoal do grupo que possui mais experiência pode esclarecer melhor essa questão (dúvida).Mas segue minha opinião...
Att,
Todas as Respostas
-
Bom dia JP4 Desenvolvimento,
Sim, se for validação de regra via webservice do cpf/cnpj (para consultas por exemplo) deverá ser feita na camada BLL. Validação de formatação ou entrada de usuário, faça no UI utilizando Javascript. Dentro da BLL, você pode implementar interfaces. Utilize DTO's para trafegar objetos entre as camadas. Na camada DAL faça o cadastro deste cpf/ cnpj.
Ficaria assim:
DTO (contem as classes do seu negócio)
UI - referenciando BLL e DTO
BLL (contendo interfaces) - referenciando DTO e DAL
DAL - referenciando DTO
Lucas Lima
- Editado Lucas Lima sexta-feira, 8 de abril de 2016 12:24
- Marcado como Resposta Levi DomingosModerator domingo, 10 de abril de 2016 17:10
-
Bom dia
Essa questão é bastante polêmica, pois as pessoas possuem idéias e pensamentos diferentes.
No meu ponto de vista não seria incorreto validar na BLL. Mas particularmente eu utilizo a BLL apenas para regras de negócio e não validações de telas. Mas como citado anteriormente, no ponto de vista de algumas pessoas as validações de telas são também regras de negócio.
O pessoal do grupo que possui mais experiência pode esclarecer melhor essa questão (dúvida).Mas segue minha opinião...
Att,
-
Concordo com o Silvaney,
Vejo diferença entre validação de regras de negócio, que estão intrinsecamente ligadas ao processo executado pela tua aplicação, das validações de preenchimento e formatação de campos.
Se você está preenchendo um campo e precisa que ele tenha 3 caracteres e apenas dígitos, ainda não saiu da camada de apresentação, quando esse dado passa a ser manipulado e a influenciar entidades, aí sim, vejo uma validação de negócio.
Mas como dito anteriormente, é uma questão de prisma e essa definição deve ser discutida a nível de projeto pela equipe.
Boa sorte !
Att,
Antero Marques
__________________________________________________________________________
Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta.
O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.
- Marcado como Resposta Marcos SJ sexta-feira, 8 de abril de 2016 17:21
- Editado Antero Marques domingo, 10 de abril de 2016 21:13
-
Eu fiz assim:
Para cada camada do sistema eu criei um project dentro da solution. Esta(s) classe(s) de autenticação devem ficar em um project já criado, ou devo criar um novo project apenas para armazenar as classes de autenticação?
Obrigado
Luiz Pires JP4 Desenvolvimento http://jp4.com.br
-
Crie uma Class Library e va adicionando como referencia . Com o Class Library, você consegue reaproveitar esta dll em outros projetos
Lucas Lima
- Editado Lucas Lima sexta-feira, 8 de abril de 2016 13:48
- Marcado como Resposta Levi DomingosModerator domingo, 10 de abril de 2016 17:10