Um padrão de projeto bastante conhecido para níveis arquiteturais é o Model-View-Controller (MVC). Seu objetivo primário é tornar a visão (interfaces gráficas - GUI) independente do modelo (classes de negócio), de forma que manutenções possam ser dadas em ambas sem que haja risco de impacto uma na outra. Em geral, a implementação é feita separando-se esses elementos em pacotes. A principal premissa desse padrão é a de que “o modelo não seja dependente da visão”. Considerando as restrições de I a V abaixo, assinale a alternativa que apresenta o significado técnico dessa premissa:
I. Dentro das classes que representam o modelo, não deve haver chamadas a métodos das classes que representam a visão.
II. Dentro das classes que representam o modelo, não se deve usar diretamente atributos públicos de classes que representam a visão.
III. Dentro das classes que representam o modelo, não se deve declarar variáveis/atributos do tipo de classes que pertencem à visão.
IV. Dentro das classes que representam o modelo, não se deve declarar métodos cujos parâmetros são do tipo de classes pertencentes à visão.
V. As classes que representam o modelo não devem implementar interfaces e nem herdar de classes que pertençam à visão.