MVC vs 3-tier architecture?
Quelle est la différence fondamentale entre MVC et de l'architecture 3 tiers?
- double possible de MVC Vs n-tier architecture
Vous devez vous connecter pour publier un commentaire.
Quelle est la différence fondamentale entre MVC et de l'architecture 3 tiers?
Vous devez vous connecter pour publier un commentaire.
3-tier est un Architecture de Style et MVC est un Modèle de Conception.
est donc Différent.
mais nous pourrions l'aide d'un modèle mvc dans l'architecture 3 tiers de style.
donc:
Couche de présentation: "les Contrôleurs et les Vues" à partir d'un Modèle MVC.
Couche d'entreprise : "(Modèle de Données)" à partir du Modèle MVC.
Couche D'Accès Aux Données : La Couche D'Accès Aux Données.
Dans les grandes applications MVC est la couche de présentation d'une architecture N-tiers. Les modèles, vues et contrôleurs ne sont concernés par la présentation, et de faire usage d'un moyen de palier à remplir les modèles avec les données de la couche de données.
MVC peut également être utilisé comme l'ensemble de l'architecture de niveau 3 où les points de Vue sont à votre présentation, les Contrôleurs de votre logique métier et les Modèles sont à votre couche de données (généralement généré par un DAL comme Entity Framework).
Idéalement, si vous voulez que vos contrôleurs être maigre et muet, la substitution de la logique d'un "composant", qui deviendrait essentiellement votre niveau intermédiaire.
Dans l'architecture 3 tiers, la communication entre les niveaux est bi-directionnelle. Dans le MVC la communication est unidirectionnelle; on pourrait dire que chaque "couche" est mise à jour par le gauche et, tour à tour, les mises à jour de l'un à la droite où la "gauche" et "droite" sont seulement quelques exemples.
3-Tier architecture déploie habituellement que 3 des processus distincts sur 3 différents nœuds du réseau. Mais MVC est conçu pour se déployer comme un seul processus dans un seul nœud de réseau. (comme une application de bureau)
Affaires tier 3-tier contient généralement des différentes couches de la mise en œuvre de célèbres modèles d'affaires comme délégué, affaires façade, business object, localisateur de service, objet de transfert de données, etc. Mais MVC est un modèle de conception lui-même qui est utilisé dans la couche de présentation.
L'objectif de 3 niveaux est la séparation de la logique métier du client et la base de données, afin de fournir de multiples protocoles client, une grande évolutivité, de données hétérogènes d'accès, etc. Mais l'objectif principal de la MVC est que la mise en œuvre des changements dans une partie ne nécessitent pas de modifications à l'autre.
- Je prendre une approche différente par rapport à ce que Michael a dit dans sa réponse.
Les contrôleurs ne sont jamais destinées à être votre logique métier. Pour moi, la logique d'entreprise appartient à la couche modèle. Et même si, points de vue (et dans une certaine mesure, les contrôleurs) et une partie de la couche de présentation, le modèle n'est jamais une partie d'une application MVC. Un modèle qui devrait être le cœur et l'âme d'une application MVC et c'est ce Domain Driven Design est tout au sujet de ce qui peut être facilement mis en œuvre dans une application MVC.
N'oubliez pas que vous n'avez pas à avoir le modèle à l'intérieur d'un même projet (en parlant de ASP.NET MVC). Il peut résider dans un tout autre projet et il peut encore agir comme un modèle pour l'application
Une application MVC agissant comme une couche de présentation seulement à travailler dans un énorme projet avec de nombreux niveaux, mais il ne peut jamais s'agir que d'une présentation seule couche dans un 3 architecture de niveau qui est ce que la personne a demandé.
On peut donc dire que MVC fait deux (tiers peut être la couche de données qui n'est pas vraiment une partie de l'architecture MVC en soi) de trois couches d'une architecture 3 tiers.
Grâce.
Qu'est ce qu'une architecture 3 tiers?
Trois de la couche (layer) est un architecture client-serveur dans lequel l'interface utilisateur, processus d'affaires (business rules) et de stockage de données et d'accès aux données sont développés et maintenus sous forme de modules indépendants ou le plus souvent sur des plates-formes. Fondamentalement, il y a 3 couches, niveau 1 (couche de présentation, interface de niveau), niveau 2 (business objects, la couche de logique métier) et de niveau 3 (couche d'accès aux données). Ces niveaux peuvent être développés et testés séparément.
DAL - Couche d'Accès aux Données ( il a Connectionstring et de lecture de Données & exécuter le processus)
BOL - Business Calque de l'Objet ( il a des Requêtes )
De l'INTERFACE utilisateur l'Interface Utilisateur ( Formes & Code Derrière )
Plus De Détails : 3 Tier Archtecture
Il n'y a pas de relation entre les deux. MVC est une couche de présentation modèle. L'ensemble du Modèle-Vue-Contrôleur existe dans la couche de présentation.
Modèle est un objet contenant des données (généralement juste en Vo) qui sont représentés par la Vue ou de la, peuplé de Vue.
Contrôleur est ce que fait la demande (et peut remplir le modèle) et appelle la couche de service. Puis arrive un autre (ou le même) et le modèle renvoie à Vue.
Vue est ce qui s'affiche modèle, et fournit des composants pour capturer la saisie de l'utilisateur. (Il est habituellement un modèle de moteur dans les Applications Web, ou des composants de l'INTERFACE utilisateur dans une application de bureau).
Quand on parle de niveau 3 (ou n-tier) d'application, nous parlons de l'architecture de l'ensemble de l'application, qui se compose de la Couche Présentation (l'ensemble de la MVC), la Couche de Service (classes d'Affaires), et la Couche d'Accès aux Données.
La Couche de Service (et tous derrière) sont cachés derrière les Contrôleurs de la MVC.
Une architecture de niveau 3 est linéaire où le niveau client n'a en fait jamais communique avec la couche de données--toute la communication passe par le niveau intermédiaire. MVC sur l'autre main est plus triangulaire, d'où la vue envoie des mises à jour pour le contrôleur et reçoit des mises à jour à partir du modèle et le contrôleur met à jour le modèle.
(Voir "la Comparaison avec l'architecture MVC" sur http://en.wikipedia.org/wiki/3-tier_architecture)
De l'OMI, il est aucune comparaison directe entre les 3 niveaux de l'architecture et de la MVC. Les deux sont utilisés en conjonction et, par conséquent, nous avons tendance à les voir à travers le même objectif. Conceptuellement, ils ne doivent pas être utilisés ensemble. J'ai pu avoir 3-Tier architecture ne pas utiliser le MVC a à offrir.
Je ne suis pas d'élaborer les définitions de la partie, mais en bref:
3-Tier est un logiciel approche de l'architecture, dans lequel l'interface utilisateur, les processus d'affaires sont la logique, la couche de données développées de manière indépendante, le plus souvent sur des plateformes distinctes.
MVC a évolué à partir d'un logiciel de modèle de modèle architectural au cours d'une période de temps et est vu dans tous les grands cadres de nos jours.
Chaque Application a un plus de Couches suivantes
1)Présentation de la Couche ou la Couche d'INTERFACE utilisateur
2)de la Couche de gestion ou de la Couche Logique Métier
3)Couche d'Accès aux Données ou de Données de la Couche
Architecture 3 tier d'habitude a chaque couche séparée par le réseau. I. E. la couche de présentation est sur quelques serveurs web, alors que les pourparlers à dos à la fin de l'application des serveurs sur le réseau d'entreprise logique, alors que les pourparlers à un serveur de base de données, à nouveau sur le réseau, et peut-être que le serveur d'application appelle également à certains services à distance (dis Authorize.net pour le traitement du paiement).
quelques fois on exige plus de couches du type ci-dessus et plus mechines puis il est appelé en tant que N-tier
MVC est une programmation de modèle de conception où les différentes portions de code sont chargés de représenter le Modèle, Vue, contrôleur et dans certaines applications. Ces deux choses sont liées, car, par exemple, le Modèle de couche peut avoir une mise en œuvre interne qui appelle une base de données pour stocker et récupérer des données. Le contrôleur peut résider sur le serveur web, et d'appeler à distance appservers pour récupérer des données. MVC résumés loin les détails de comment l'architecture d'une application est mise en œuvre.
Modèle le modèle que nous avons voulu construire
Vue moyen de l'INTERFACE utilisateur de l'Application
Contol Signifie la logique de contrôle de l'Application
3-tier, renvoie à la structure physique de la mise en œuvre. Ces deux sont parfois confondus en raison d'un MVC conception est souvent mise en œuvre à l'aide d'une architecture 3 tiers.
Mon expérience est que MVC est un simple "effet de mode" terme pour le mal écrits 3-tier, où certains de la communication saute autour de l'entreprise de couches, et donc le client et/ou de la couche de données a également des règles métier mélangé dans.
Je déteste le code écrit comme ça - Le terme MVC doit avoir été conçu à confondre RH, recruteurs en pensant anciens programmeurs (qui le connaissent comme "niveau 3") ne sont pas adaptés pour le travail.
MVC : architecture MVC est triangulaire: le point de vue envoie des mises à jour pour le contrôleur, le contrôleur met à jour le modèle et la vue est mise à jour directement à partir du modèle
En Trois niveaux : Une architecture à trois niveaux est le niveau client ne communique jamais directement avec la couche de données
Dans les Trois niveaux du modèle de toutes les communications doivent passer par le niveau intermédiaire
Vikas Joshi
Ingénieur Logiciel
La couche de données, puis la couche de Données -> Logique tier -> couche de Présentation) Mais MVC
est triangulaire architecture. (Contrôle de la mise à jour de Modèle et de la Vue. Modèle
mettre à jour la Vue.)
Je ne pense pas que MVC va changer quelque chose ou vous aider à construire le meilleur ou système robuste. 3 architecture de niveau est réussie et suffisante du système. Je/vous pouvez construire très complet et robuste système. Nous savons tous qu'un complexe ou de la vie réelle site web prend beaucoup de l'interaction entre toutes les couches. Personnellement, je crois php, pour cette raison, a advatage plus .net. Si u poser un ringard cul arrogant programmeur de construire un simple forum de système .net, il va gratter sa tête au-dessus de laquelle le contrôle à utiliser pour le rendu. Puis il va combiner les données de la grille avec une certaine répétition... Mais si, plus tard, u tout simplement demander à ajouter un commentaire section ou de l'image, il sera comment diable comme je le fais? D'autre part, en php... U peux le mélanger dans le html avec le serveur de code d'atteindre de la couche de présentation facilement... Afin de ne pas se vanter de l'architecture, qu'ils ont les mêmes advatages et des inconvénients. Mais demandez ce que vous avez construit?