O MVC, além de ser considerado um padrão arquitetural, é também considerado um padrão de projeto híbrido ou complexo ou composto, uma vez que o mesmo se utiliza, basicamente, de três padrões GOF (Observer, Composite e Strategy) harmonicamente interligados. Apesar de outros padrões como o Factory Method, Decorator, Mediator, Command, dentre outros também poderem acrescentar capacidades ao MVC, a essência do MVC está ligada ao relacionamento criado pelos padrões Observer, Composite e Strategy.

Uma imagem mais genérica do padrão MVC está logo abaixo:

A visualização e o controlador estabelecem uma relação por meio do padrão Strategy clássico, ou seja, a visualização é um objeto configurado como uma estratégia. O controlador é quem fornece essa estratégia. Portanto, a visualização somente precisa se preocupar com os aspectos visuais do aplicativo, porque todas as decisões sobre o comportamento da interface são de responsabilidade do controlador.

O uso do padrão Strategy também mantém a visualização distante do modelo, ou seja, a visualização apenas se registra ao modelo desconhecendo-o quase que totalmente. Isso significa que a responsabilidade pela interação com o modelo, para executar as solicitações do usuário, é delegada apenas ao controlador. Deste modo a visualização não tem a menor ideia de como isso é feito.
Copyright © 2014 AIEC.