Question

Notez que je ne vous demande pas lequel choisir (MVC ou MVP), mais plutôt si l'un des deux doit être utilisé pour une application Web.

Je me rends compte que la conversion d'une application plus ancienne de sa conception actuelle en un modèle MVC ou MVP peut s'avérer trop lourde. Cependant, qu'en est-il pour une nouvelle application? Il semble que ce soient les modèles d'architecture les plus populaires, alors faut-il en choisir un? Sinon, quels autres modèles existe-t-il?

Si vous ne connaissez pas MVC et / ou MVP, une bonne question à vérifier est " Que sont MVP et MVC et quelle est la différence? ". Il contient de nombreuses bonnes réponses, y compris des liens vers divers sites Web qui détaillent chacun d’entre eux.

Était-ce utile?

La solution

MVP / MVC fonctionne bien dans les applications Web, car la combinaison verbe HTTP + URL est un très bon moyen de déterminer l'action à entreprendre. Il y a des raisons de ne pas l'utiliser, par exemple si votre équipe a beaucoup d'expérience avec un autre framework, mais je recommanderais généralement un framework MVP / MVC. Votre application sera finie plus rapidement avec une qualité supérieure.

Autres conseils

Les deux sont d'excellentes options.

Je choisirais MVC car il a des adoptions plus larges et qu'il est plus facile à comprendre et à utiliser pour les développeurs front-end (HTML / CSS).

De plus, étant donné le nombre de frameworks adoptant le modèle MVC, les chanches discutent avec vos collègues dans MVC, vous parlez un langage bien connu.

J'ai posté la réponse suivante pour une autre question, même si cela pourrait être plus approprié ici .

MVC convient aux scripts simples côté serveur. Dans MVC, les développeurs essaient toujours de maintenir le contrôleur très léger. Le contrôleur sert principalement à sélectionner le modèle approprié et à réfléchir sur la vue. Mais dans les applications Web actuelles, la partie Affichage a radicalement changé et est devenue suffisamment complexe pour produire un contrôleur volumineux, gros et désordonné. Nous avons donc besoin d’un nouvel emplacement pour placer la logique de contrôle complexe de l’interface utilisateur. Voici le P de MVP qui est présenté par le présentateur. Les présentateurs sont donc responsables du contrôle de la logique pour un composant d'interface utilisateur particulier. Ne vous inquiétez pas, le contrôleur est toujours là, nommé Contrôleur d'application . Qui est responsable en dernier ressort de la commutation entre des composants d’application comparativement plus grands. Par conséquent, MVP peut également être qualifié de MVPC (!!) . BTW, c’était ma façon de comprendre MVP et évidemment pas de règle de base.

J'ai donc déjà tendance à MVP pour les applications Web complexes.

Votre question était "dois-je utiliser l'un de ces modèles de conception".

Je dois dire que cela dépend vraiment de la portée de votre projet. Sur un très grand projet qui a des interdépendances avec d'autres systèmes dans une grande organisation avec un gros budget, je dirais qu'ils méritent vraiment d'être pris en compte.

Je pense que ces modèles sont souvent surexploités dans les petits projets où ils peuvent ajouter une complexité et des coûts inutiles.

L'intérêt principal du couplage faible est de pouvoir modifier votre base de données ou votre interface utilisateur ultérieurement, ou de réutiliser la logique métier. Souvent, cela n'arrive jamais. Vous devez comprendre que l'un ou l'autre de ces modèles prendra plus de temps à implémenter et compliquera un peu le code. Donc, je suggère fortement de vraiment réfléchir à cela et de peser vos options. Vous pouvez souvent fournir une meilleure solution plus rapidement en utilisant une architecture très simple qui effectue le travail et réduit la complexité!

Cela dépend du framework que vous utilisez. Il suffit d'utiliser ce qu'il supporte. La plupart des infrastructures Web que j'ai vues utilisent le modèle de contrôleur frontal et appellent cela MVC ou MVP.

Je pense que vous devriez. Ils sont plus difficiles à mettre en œuvre, en particulier dans le monde de la SEP, car ils ont tout fait pour développer Web Forms et faciliter la création d'applications Web.
En les utilisant, vous programmez simplement et vous avez l’impression d’avoir effectué beaucoup de travail. Mais ils sont plus lents et plus difficiles à maintenir une fois que votre site est agrandi.
L'utilisation de MVC et de MVP vous permet de séparer le modèle (les classes de base représentant le domaine avec lequel vous travaillez), le contrôleur et les vues. La meilleure chose à ce sujet est que vous pouvez réutiliser votre modèle dans d'autres applications telles que des applications mobiles ou des applications Windows. Ils ont alors plus en commun qu'une base de données, vous devez donc écrire moins de code. Vous devez juste écrire des contrôleurs et des vues.
Je suis novice dans ce domaine, mais je vois des avantages car, lorsque je devais changer quelque chose sur un site, quelque chose d’autre s’est écrasé ailleurs (vous devez donc également perdre le couplage et la rédaction de tests unitaires). L'écriture de tests est impossible dans les formulaires Web.

Toutefois, si vous créez une application pour représenter une personne ou une entreprise, où il n'y a pas de logique métier sur le Web et que vous devez le faire rapidement, les formulaires Web sont bons pour cela. Et aussi pour la construction de prototypes afin que vous puissiez montrer ce que l'application sera capable de faire une fois terminé.

J'aime les deux modèles. Ma meilleure pratique est de choisir un modèle qui est toujours meilleur que NO.

J'ai développé de nombreuses applications sur les deux modèles, mon sentiment personnel est que, lorsque vous êtes développeur RAD et que vous n'êtes pas très bon en CSS & amp; javascript (Généralement, les développeurs qui veulent créer une application Web ne sont pas offensés ;-)) Vous devez utiliser le modèle MVP car il est très facile à utiliser avec les projets d'application Web.

Mais quand vous avez su allot de CSS & amp; javascript, vous devriez alors considérer le modèle ASP.NET MVC.

Je préférerais le modèle MVC, simplement à cause du couplage lâche. Il existe une séparation claire entre le modèle, la vue et le contrôleur et, grâce à l'isolation, il est mieux adapté au développement piloté par les tests ou aux tests unitaires.

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