Pergunta

Há um diagrama representando a diferença entre o tradicional MVC e Cacau MVC aqui:

Cacau design Patterns: The Model-View-Controller design padrão

Existem quaisquer benefícios de fazê-lo da maneira "Cacau" em .NET usando o Visual Studio?

Foi útil?

Solução

Não há nenhuma razão não para fazê-lo dessa forma, se faz mais sentido para você. Esteja ciente de que um monte de coisas no quadro de cacau são do jeito que são devidos a decisões de design de nível superior, por exemplo favorecendo composição e delegação sobre subclassificação.

Se você quiser, você pode projetar software C # que se parece com software Objective-C, mas as pessoas sem experiência Cacau terá que tê-lo explicado a eles, porque o projeto fracamente acoplado só vai parecer "estranho" para eles.

Oh, certo - as vantagens de que o design incluem uma maior reutilização da visão UI e modelo aulas (uma vez que não terá qualquer conhecimento uns dos outros), código um pouco mais simples nas classes de vista, e mais do "lógica de aplicação" em um único lugar (as classes do controlador).

Outras dicas

Um desenvolvedor no Jornal do desenvolvedor .Net tem sido escrito sobre sua transição e comparando .Net para Cocoa incluindo usando o estilo de Cacau MVC em .Net

http://dotnetaddict.dotnetdevelopersjournal.com/tags/?/cocoa

Não é a "versão Cacau de MVC" o padrão usado no ASP.NET MVC? Até agora, todos os exemplos têm apontado para a comunicação b / w vista e modelo através do controlador com qualquer interacção directa entre V e M. Am I compreender isso incorretamente?

A principal vantagem de usar "controladores de mediação" do Cacau (subclasses de NSController) é que eles implementar uma grande parte da funcionalidade padrão exigido para mediar entre um modelo e sua visão. Coisas como rastrear a parte do modelo indicado pela selecção da vista, e suporte a transações (para que você possa, por exemplo, confirmar ou descartar um conjunto de modificações à vista ou modelo) estão incluídos, 'de graça'. Usando as subclasses NSController como o código de 'cola' entre modelo e vista liberta-o como um desenvolvedor de concentrar seus esforços na-a funcionalidade lógica específica do aplicativo "controlador de Coordenação" que reside na camada de controlador.

Assim, vale a pena usar esse padrão em .net? Conseguir um controlador de coordenação geral para funcionar corretamente não é trivial (que levou a Apple um par de lançamentos para obtê-lo bem, por exemplo). Coisas como controladores de árvores são particularmente complicado. Se você estiver usando apenas esse padrão em um ou alguns projetos, pode não valer a pena o esforço. Por outro lado, tenho certeza que a comunidade gostaria de receber um quadro geral controlador ala hierarquia NSController do Cacau.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top