DUVIDA CONTROLLER, BO/BLL e Design Patterns

 Tópico anterior Próximo tópico Novo tópico

DUVIDA CONTROLLER, BO/BLL e Design Patterns

ASP.NET

 Compartilhe  Compartilhe  Compartilhe
#477215 - 18/10/2017 10:06:51

MESTRE
GUARULHOS
Cadast. em:Novembro/2013


Última edição em 18/10/2017 10:07:20 por MESTRE

Fala galera beleza? to fazendo um projeto em PHP 7 e estou usando o padrão MVC, porém estou tendo algumas duvidas referentes a Controller e a Business Object..

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 ?


_______________________________________________
"A alegria está na luta, na tentativa, no sofrimento envolvido e não na vitória propriamente dita."
Gandhi.


Resposta escolhida #477219 - 18/10/2017 10:42:53

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
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.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#477221 - 18/10/2017 13:46:15

MESTRE
GUARULHOS
Cadast. em:Novembro/2013


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?


_______________________________________________
"A alegria está na luta, na tentativa, no sofrimento envolvido e não na vitória propriamente dita."
Gandhi.


#477223 - 18/10/2017 14:26:41

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
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.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#477237 - 19/10/2017 08:38:07

MESTRE
GUARULHOS
Cadast. em:Novembro/2013


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!

_______________________________________________
"A alegria está na luta, na tentativa, no sofrimento envolvido e não na vitória propriamente dita."
Gandhi.


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MESTRE em 19/10/2017 08:38:17