Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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.

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.