Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

Vegetus

Dois tipos de MVC?

Recommended Posts

Pessoal,

 

Pesquisando inúmeros artigos, vejo que há dois tipos de MVC. A diferença entre os dois está, basicamente, na comunicação entre o model, view e controller.

 

Por exemplo, considerando na imagem abaixo:

 

mvc01.gif

 

Vejo que a View não APONTA algum método no Model, pois primeiramente o Controller deverá acionar um model e, em seguida, acionar uma View.

 

 

Um exemplo disso seria:

 

Controller:

 

class Index {
   function public start() {
      $allStates = Retrieve::relationStates(); 
      include "View.php";
   }
}

 

Model:

 

class Retrieve {
 function public static relationStates() {
     $pdo = new Database();
     $states = $pdo->query("select * from states")->fetchAll(\PDO::FETCH_ASSOC);
     $allStates = "";
     foreach($states as $state) { $all .= $allStates . "<br />"; }
     return $allStates;
 }
}

 

 

View:

 

<div id="select-states">
<?php echo $allStates; ?>
</div>

 

 

 

 

 

 

Agora, considerando uma imagem abaixo:

 

mvc02.gif

 

 

Vejo que o View aponta algum método no Model, para receber os dados.

 

Um exemplo seria esse:

 

View:

 

<div id="select-states">
<?php Retrieve::relationStates(); ?>
</div>

 

Model:

 

class Retrieve {
 function public static relationStates() {
     $pdo = new Database();
     $states = $pdo->query("select * from states")->fetchAll(\PDO::FETCH_ASSOC);
     foreach($states as $state) { echo $state . "<br />"; }
 }
}

 

 

 

 

 

Conclusão: qual dos modelos acima VOCÊS ACHAM MAIS JUSTOS?

 

Obrigado,

Vinicius.

Share this post


Link to post
Share on other sites

Olha, até onde vão os meus conhecimentos, Model não conversa com View. O Controller recupera a requisição e identifica qual model deve ser acionado e qual view deve ser executado (a primeira situação).

 

Talvez exista alguma situação diferente, mas eu definitivamente não conheço e nem vejo muito sentido.

 

Carlos Eduardo

Share this post


Link to post
Share on other sites

Olha, até onde vão os meus conhecimentos, Model não conversa com View. O Controller recupera a requisição e identifica qual model deve ser acionado e qual view deve ser executado (a primeira situação).

 

Talvez exista alguma situação diferente, mas eu definitivamente não conheço e nem vejo muito sentido.

 

Carlos Eduardo

 

Eu tb acho a mesma coisa! todo tipo de solicitação tem que passar pelo controller por isso o nome dele é esse. Acho que é isso.

Share this post


Link to post
Share on other sites

Obrigado pela resposta, pessoal.

 

Eu acho que, além dessa questão, há outras e muitas questões que também são polêmicas. Há outro fórum com tópico aberto sobre MVC que explica bem os detalhes, porém cada um com seu ponto de vista diferente. O link é http://www.guj.com.br/java/129277-perguntas-sobre-mvc-desktop-existe-solucao--mvpmvc-webobserver-e-exceptions/18

 

Abrs.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.