Question

Vous trouverez ici un diagramme illustrant la différence entre le MVC traditionnel et le MVC Cocoa:

Modèles de conception Cocoa: le modèle de conception modèle-vue-contrôleur

Y a-t-il des avantages à utiliser le " Cacao " manière dans .NET en utilisant Visual Studio?

Était-ce utile?

La solution

Il n'y a aucune raison pour ne pas le faire de cette façon, si cela vous semble plus logique. Sachez que, dans le cadre Cocoa, de nombreux éléments sont dus aux décisions de conception prises à un niveau supérieur, par exemple en favorisant la composition et la délégation plutôt que le sous-classement.

Si vous le souhaitez, vous pouvez concevoir un logiciel C # qui ressemble à un logiciel Objective-C, mais les personnes n'ayant aucune expérience de Cocoa devront le leur expliquer, car la conception à couplage lâche semblera simplement "étrange". à eux.

Ah bon, les avantages de cette conception incluent une plus grande possibilité de réutilisation de la vue de l'interface utilisateur et des classes de modèle (puisqu'elles ne se connaissent pas), un code légèrement plus simple dans les classes de vue, et davantage de fonctions. "logique d'application" dans un seul endroit (les classes de contrôleur).

Autres conseils

Un développeur de la revue du développeur .Net a écrit sur sa transition et a comparé .Net à Cocoa, notamment en utilisant le style Cocoa MVC dans .Net

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

La version "Cocoa" de MVC n'est-elle pas le modèle utilisé dans ASP.NET MVC? Jusqu’à présent, tous les exemples ont mis en exergue la communication vue / modèle en noir et blanc via le contrôleur, sans interaction directe entre V et M. Est-ce que je comprends mal?

Le principal avantage de l’utilisation des "contrôleurs de médiation" de Cocoa (sous-classes de NSController) est qu’ils implémentent une grande partie des fonctionnalités standard requises pour assurer la médiation entre un modèle et sa vue. Des éléments tels que le suivi de la partie du modèle indiquée par la sélection de la vue et le support des transactions (pour que vous puissiez, par exemple, valider ou abandonner un ensemble de modifications de la vue ou du modèle) sont inclus, «gratuitement». En utilisant les sous-classes NSController en tant que code "collant" entre le modèle et la vue, vous êtes libre en tant que développeur de concentrer vos efforts sur le "Contrôleur de coordination". fonctionnalité & # 8212; la logique spécifique à l'application qui réside dans la couche contrôleur.

Alors, est-il utile d’utiliser ce modèle dans .Net? Obtenir un contrôleur de coordination général pour fonctionner correctement n’est pas anodin (par exemple, il a fallu plusieurs versions à Apple pour que tout se passe bien.) Les choses comme les contrôleurs d'arbres sont particulièrement délicates. Si vous utilisez ce modèle uniquement dans un ou plusieurs projets, cela ne vaut peut-être pas la peine. D'autre part, je suis sûr que la communauté apprécierait un cadre de contrôleur général conforme à la hiérarchie NSController de Cocoa.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top