2010-11-29 5 views
3

Dans le modèle MVC, le contrôleur est le moins réutilisable, comparé aux deux autres aspects. Maintenant, disons que j'ai une application (disons pour Pizza Commander), qui est disponible à la fois comme une application web et une application mobile (disons iPhone). Donc dans ce cas, je pense que le modèle (ou les données) peut être réutilisé. La vue peut ne pas être réutilisable.Reusablité du contrôleur dans MVC

Mais en ce qui concerne le contrôleur, est-il possible de réutiliser quelque chose? Disons que si j'ai déjà une application web, puis-je réutiliser la logique du contrôleur pour l'application mobile? En outre, quelle est et où exactement "la logique métier" réside dans MVC?

Répondre

6

Le contrôleur appelle une couche de service. La couche de service utilise le modèle pour faire la logique métier. Le contrôleur ne contient jamais de logique métier. Il devrait seulement déléguer le travail à la couche de service. Je considère la couche de service comme la partie que le modèle de domaine expose, on pourrait dire que c'est le "Modèle" dans MVC. Cela dit, je ne pense pas que les cadres MVC se soucient vraiment si le contrôleur est réutilisable ou non. La partie importante est le modèle, qui ne devrait pas changer parce que le code de couche de service est réutilisé. De plus, si nous écrivons correctement notre code, le contrôleur sera très mince et la réutilisation ne devrait pas être un problème.

Pouvez-vous réutiliser la logique du contrôleur à partir de l'application Web pour une application mobile? Je ne pense pas, mais vous pourriez utiliser la couche de service. Je suis sceptique si même la vue peut être utilisée directement depuis le web vers des applications mobiles, les besoins sont si différents.

Je vous suggère de regarder la conception axée sur le domaine si vous êtes intéressé par la conception d'applications et apprendre à organiser la logique métier.

Questions connexes