/ / É MVC quando a visualização não interage com o modelo? - .net, model-view-controller, padrões de design

É MVC quando a visão não interage com o modelo? - .net, model-view-controller, padrões de design

Eu projetei um MVC (em.NET) onde a View não possui link para o Model. Ele conhece apenas o controlador. O padrão tradicional do MVC tem todas as partes se comunicando. No meu caso, o Controller é basicamente um mediador. Isso mantém qualquer exceção ou lógica fora da exibição. Ele tem dependência zero no modelo. Isso não é mais um MVC?

Respostas:

19 para resposta № 1

O que você está descrevendo é na verdade um subconjunto do Model-View-Controller chamado Visão passiva.

texto alternativo

Vista passiva é mais uma variação emcontrolador de visualização de modelo e model-view-apresentador. Como com estes a interface do usuário é dividida entre uma exibição que lida com a tela e um controlador que responde aos gestos do usuário. o mudança significativa com o Passive View é que a visão é feita completamente passivo e não é mais responsável para atualizar-se a partir do modelo. Como Como resultado, toda a lógica da visualização está em o controlador. Como resultado, há sem dependências em qualquer direção entre a vista e o modelo.

Martin Fowler fala sobre isso no acima do link e discute brevemente outras variações Aqui.


1 para resposta № 2

Eu acho que ao invés de MVC, é apenas VC então, hein?;)

Nas implementações do MVC, a visualização assinamudanças no modelo e atua no controlador; o controlador faz alterações no modelo, que são propagadas para as visualizações por meio de sua referência ao modelo. No seu caso, parece mais que você enterrou seu modelo no seu controlador (afinal, você precisa obter seus dados de algum lugar); isso não é necessariamente ruim ou algo assim, mas também não é MVC no sentido estrito.


0 para resposta № 3

Sua abordagem parece muito com MVP, mas não posso dizer com certeza sem mais detalhes.


0 para a resposta № 4

No sentido mais estrito, não. Mas ele tem uma maneira de a comunicação se comunicar com o modelo, se necessário, sem alterar a arquitetura / interfaces?

[Por exemplo, se você tem um método TalkToModel () implementado, mesmo que você ainda não o use, é um MVC na minha opinião.]