web-dev-qa-db-fra.com

quelle est la différence entre une architecture à 3 niveaux et un MVC?

quelle est la différence entre une architecture à 3 niveaux et un MVC?

Sont-ils les mêmes? 

Les deux ont 3 couches: modèle, vues et contrôleur

27
user1414880

Comparaison avec l'architecture MVC

À première vue, les trois niveaux peuvent sembler similaires au concept de modèle-vue-contrôleur (MVC); cependant, topologiquement, ils sont différent. Une règle fondamentale dans une architecture à trois niveaux est le le niveau client ne communique jamais directement avec le niveau données; dans un modèle à trois niveaux, toutes les communications doivent passer par le niveau intermédiaire . Conceptuellement, l'architecture à trois niveaux est linear. Cependant, le [modèle-view-controller] L’architecture MVC est triangulaire: la vue envoie mises à jour du contrôleur, le contrôleur met à jour le modèle et le La vue est mise à jour directement à partir du modèle.

Source: http://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture

47
Sarfraz

MVC est un modèle utilisé pour faciliter la maintenance et le test du code d'interface utilisateur. Lorsque le modèle MVC est utilisé, une plus grande partie du code de l'interface utilisateur peut être testée par unité.

Voici un bon article qui décrit le modèle MVC plus en détail: http://martinfowler.com/eaaDev/uiArchs.html

L'architecture à 3 niveaux est un modèle utilisé pour une raison complètement différente. Il sépare l'ensemble de l'application en "groupes" significatifs: interface utilisateur, logique applicative, stockage de données. 

Ainsi, une application à 3 niveaux fait référence à tout le code de l'application. Le modèle MVC est un modèle utilisé dans le niveau d'interface utilisateur.

Voici un bon article sur l'architecture à 3 niveaux: http://dotnetslackers.com/articles/net/IntroductionTo3TierArchitecture.aspx

Pour plus d'informations, vous pouvez rechercher sur Internet et trouver un article de gazzilion sur les deux sujets.

19
Gene S

Dans MVC : l'architecture MVC est triangulaire: la vue envoie les mises à jour au contrôleur, le contrôleur met à jour le modèle et la vue est mise à jour directement à partir du modèle.

In Three Tier : Une architecture à trois niveaux est le niveau client qui ne communique jamais directement avec le niveau de données Dans un modèle à trois niveaux, toutes les communications doivent passer par le niveau intermédiaire

9
ketan italiya

Leur sont similaires dans un sens, comme: 

  • 3 niveaux divisent l'ensemble de l'application en: interface utilisateur, logique et données
  • MVC divise la partie d'interface utilisateur en: vue (type d'interface utilisateur de l'interface utilisateur), modèle (données) et contrôleur (logique)

Mais la différence vient de la façon dont les niveaux communiquent les uns avec les autres:

  • 3 tiers: tout ce qui passe par le niveau logique (a-> b, b-> c et c-> b, b-> a)
  • MVC: ils communiquent 2 par 2, de manière triangulaire. (a-> b, b-> c, c-> a)
3
TerraMG

http://fr.wikipedia.org/wiki/Multitier_architecture .__ En bref, dans une architecture à 3 niveaux, le niveau de présentation ne communique jamais directement avec le niveau de données. Dans MVC, la relation entre modèle, vue et contrôleur est triangulaire. Deux sur trois peuvent se communiquer

2
knguyen

Dans la solution à trois niveaux, l'interface utilisateur est séparée de la couche métier afin de s'assurer que le concepteur d'interface utilisateur concerné par l'aspect et la convivialité ne soit pas confondu avec la programmation lourde laissée aux professions de programmation.

Cette architecture (à trois niveaux) est essentielle lorsqu'un grand nombre de personnes est impliqué dans la production d'une application volumineuse.

1
George Parker

La principale différence entre les deux est la suivante: Dans ce cas, un «niveau» peut également être appelé «couche». Les trois niveaux, ou couches, impliqués sont les suivants: Une couche de présentation qui envoie le contenu aux navigateurs sous la forme HTML/JS/CSS. Cela pourrait exploiter des structures telles que React, Angular, Ember, Aurora, etc. Une couche d’application qui utilise un serveur d’application et traite la logique applicative de l’application. Cela peut être écrit en C #, Java, C++, Python, Ruby, etc. . Une couche de données qui est un système de gestion de base de données donnant accès aux données d'application. Cela peut être MSSQL, MySQL, Oracle ou PostgreSQL, Mongo, etc.

L'architecture MVC est triangulaire: la vue envoie les mises à jour au contrôleur, le contrôleur met à jour le modèle et la vue est mise à jour directement à partir du modèle.

1
Anil Yadav

La principale différence entre les deux est:

Une architecture à trois niveaux est que le niveau client ne communique jamais directement avec le niveau de données. Dans un modèle à trois niveaux, toutes les communications doivent passer par le niveau intermédiaire.

L'architecture MVC est triangulaire: la vue envoie les mises à jour au contrôleur, le contrôleur met à jour le modèle et la vue est mise à jour directement à partir du modèle.

1
Nitesh Dashore

tout d’abord, le niveau concerne le déploiement physique, ce que vous voulez dire, couches, et MVC est un cadre pour la couche de présentation, c’est tout.

0
LIU YUE