DUVIDA CONTROLLER, BO/BLL E DESIGN PATTERNS
Meu projeto está organizado da seguinte forma:
/Model
--/Entidades
--/DAO
--/Validacao
--/BO ou BLL (Business Logic Layer)
/Views
/Controllers
Estou começando a organizar a BO ou BLL agora, porém estou com duvida, atualmente minha Controller está acessando minha DAO, implementando a BO
ou BLL minha Controller deixará de acessar a DAO diretamente e quem vai acessar a DAO vai ser a BO/BLL que ficariam as regras de negocio ...
a dúvida:
1. Se a minha Controller continuar acessando minha DAO diretamente acabo ferindo algo no MVC ?
2. Minha controller simplesmente será utilizada apenas para renderizar as views se implementar a BO/BLL ?
Citação::
Se você está usando uma BLL, significa que você terá regras de negócios que serão validadas/executadas nessa camada. Usar a DAO dirtamente, não fere necessariamente os princÃpios MVC, desde que quem acesse a DAO seja a controller. Quanto à segunda pergunta, não sei se entendi. A controller não [Ô]renderiza[Ô] nada.
Opa eai Kerp, entendi porque perguntando a mesma coisa para um professor ele me falou que se eu mantiver regras de negocio no Controller isso fere o padrão MVC e não é muito correto..
Sobre a segunda pergunta minha Controller vai virar basicamente um redirect pra view, falei equivocadamente renderizar mas o correto é [Ô]apontar[Ô] pra view , hoje meu controller acessa
a DAO e minhas Entidades, se eu colocar o BLL quem vai acessar a DAO e as Entidades vai ser o BLL e não a Controller correto?
é isso mesmo. Se você usa a BLL em alguma entidade, basicamente fica [Ô]obrigatório[Ô] que as demais entidades também usem sua própria BLL, mesmo que o que ela faça seja simplesmente um passo à mais para acessar a DAO. Por questão de praticidade, muita gente meio que ignora isso quando não há regras de negócio, mas não é uma boa prática, porque você perde a uniformidade.
Citação::
Seu professor tem razão. Se você tem uma camada BLL, você deveria usar essa camada para as validações de negócio, caso existam.
é isso mesmo. Se você usa a BLL em alguma entidade, basicamente fica [Ô]obrigatório[Ô] que as demais entidades também usem sua própria BLL, mesmo que o que ela faça seja simplesmente um passo à mais para acessar a DAO. Por questão de praticidade, muita gente meio que ignora isso quando não há regras de negócio, mas não é uma boa prática, porque você perde a uniformidade.
Show kerp..
Agradeço por tirar minhas duvidas..
Abraço!