Como implementar uma classe FACADE (FACHADA) (Boas práticas) CSharp
05/05/2015
0
Olá pessoal!
Sou marinheiro de primeira viagem com programação em camadas e estou pegando alguns tutoriais na net sobre o uso de classes FACADE, pois estou precisando muito...
Tenho uma aplicação em 4 camadas (conexaoBanco, ObjetoTransferencia, Apresentacao e RegrasNegocio ). Na camada Regras de negócio, tenho várias classes com seus respectivos métodos (Inserir, Atualizar, Excluir, etc...). Vou citar um exemplo simples: Eu precisarei dar um insert em 3 tabelas (Clientes, PessoaFisica e Pessoa) simultaneamente e para facilitar, gostaria de usar uma classe FACADE...
Dúvida:
O mais correto seria eu criar a classe FACADE na camada REGRAS DE NEGÓCIOS ou devo criar uma camada FACADE e dentro dela criar as classes do tipo Facade?
O que seria mais correto?
obrigado...
Abraço a todos! :)
Sou marinheiro de primeira viagem com programação em camadas e estou pegando alguns tutoriais na net sobre o uso de classes FACADE, pois estou precisando muito...
Tenho uma aplicação em 4 camadas (conexaoBanco, ObjetoTransferencia, Apresentacao e RegrasNegocio ). Na camada Regras de negócio, tenho várias classes com seus respectivos métodos (Inserir, Atualizar, Excluir, etc...). Vou citar um exemplo simples: Eu precisarei dar um insert em 3 tabelas (Clientes, PessoaFisica e Pessoa) simultaneamente e para facilitar, gostaria de usar uma classe FACADE...
Dúvida:
O mais correto seria eu criar a classe FACADE na camada REGRAS DE NEGÓCIOS ou devo criar uma camada FACADE e dentro dela criar as classes do tipo Facade?
O que seria mais correto?
obrigado...
Abraço a todos! :)
Jalber Romano
Curtir tópico
+ 0
Responder
Post mais votado
17/05/2015
Você não estaria ferindo questões de camadas, pois as três classes estão na mesma camada.Você poderia estar ferindo o conceito de Responsabilidade Única (S do SOLID), mas considerando que se trata de um facade, o objetivo estaria claro e quem fosse utilizar teria total conhecimento do que está fazendo. Caso fosse necessário, poderia optar por usar cada classe individualmente.
Abraço.
Abraço.
Joel Rodrigues
Responder
Mais Posts
15/05/2015
Joel Rodrigues
O ideal é criar uma classe que tenha como responsabilidade fazer as operações "conjuntas" nessas tabelas. Por exemplo, se isso é um cadastro de clientes, você pode ter na classe responsável por inserir clientes, um único método que insere nas três tabelas. Afinal, para a camada mais externa está sendo feito uma inserção de cliente, certo?
Abraço.
Abraço.
Responder
17/05/2015
Jalber Romano
Obrigado por responder Joel.
Na camada REGRAS DE NEGÓCIO eu estou criando as classes ClienteNegocios, PessoaFisicaNegocios e PessoaNegocios e cada uma delas possui um método Inserir()... Digamos que eu apenas criasse apenas um método inserir() na classe ClienteNegocios, que desse um insert nas 3 tabelas simultaneamente.. minha preocupação seria: Será que não estaria fugindo do conceito de Camadas, e daquelas regras como o uso de uma classe FACADE, etc? É que por não ter experiência tenho esses receios... o que você acha?
Obrigado, mais uma vez, por ter respondido...
Na camada REGRAS DE NEGÓCIO eu estou criando as classes ClienteNegocios, PessoaFisicaNegocios e PessoaNegocios e cada uma delas possui um método Inserir()... Digamos que eu apenas criasse apenas um método inserir() na classe ClienteNegocios, que desse um insert nas 3 tabelas simultaneamente.. minha preocupação seria: Será que não estaria fugindo do conceito de Camadas, e daquelas regras como o uso de uma classe FACADE, etc? É que por não ter experiência tenho esses receios... o que você acha?
Obrigado, mais uma vez, por ter respondido...
Responder
Clique aqui para fazer login e interagir na Comunidade :)