Quelle est la différence entre "couches" et "niveaux"?

Quelle est la différence entre "couches" et "niveaux"?

189
demandé sur cretzel 2008-09-23 15:32:12

14 réponses

Logique couches sont simplement une façon de organiser votre code. Typique des couches comprend la présentation, les affaires et Les données – les mêmes que le traditionnel 3-tier modèle. Mais lorsque nous parlons de concernant les couches, nous parlons uniquement l'organisation logique du code. En aucun ainsi il est implicite que ces couches peut fonctionner sur différents ordinateurs ou dans différents processus sur un seul ordinateur ou même en un seul processus sur un seul ordinateur. Tout ce que nous faisons est de discuter d'un mode d'organisation du code dans un ensemble de couches défini par fonction spécifique.

physique niveaux cependant, ne sont que d'environ là où le code court. Spécifiquement, les niveaux sont des lieux où les couches sont déployé et où coulent les couches. Dans autrement dit, les niveaux sont le physique déploiement de couches.

Source: Rockford Lhotka, n-tier?

223
répondu Panos 2008-09-23 11:44:42

lire le billet de Scott Hanselman sur le sujet: http://www.hanselman.com/blog/AReminderOnThreeMultiTierLayerArchitectureDesignBroughtToYouByMyLateNightFrustrations.aspx

rappelez-vous cependant que dans "Scott World" (qui est, espérons-le, votre monde aussi:), un "niveau" est une unité de déploiement, tandis qu'une "couche" est une séparation logique des responsabilités à l'intérieur du code. Vous pouvez dire que vous avez un système "3-tier", mais l'exécuter sur un portable. Vous pouvez dire que vous avez un système "3 couches", mais n'avez que ASP.NET des pages qui parlent à une base de données. Il y a du pouvoir dans la précision, les amis.

38
répondu Josh 2008-09-23 11:41:33

couches se réfère à la séparation logique du code. Les couches logiques vous aident à mieux organiser votre code. Par exemple, une application peut avoir les couches suivantes.

1)couche de présentation ou couche D'interface utilisateur 2) couche D'affaires ou couche Logique D'Affaires 3) couche D'accès aux données ou couche de données

les trois couches ci-dessus résident dans leurs propres projets, peuvent être 3 projets ou même plus. Lorsque nous compilons les projets, nous obtenons la DLL de calque respective. Donc nous avons 3 DLL maintenant.

selon la façon dont nous déployons notre application, nous pouvons avoir de 1 à 3 niveaux. Comme nous avons maintenant 3 DLL, si nous déployons toutes les DLL sur la même machine, alors nous avons seulement 1 niveau physique mais 3 couches logiques.

si nous choisissons de déployer chaque DLL sur une machine séparée, alors nous avons 3 niveaux et 3 couches.

ainsi, les couches sont une séparation logique et les niveaux sont une séparation physique. Nous pouvons aussi dire que, les niveaux sont le physique déploiement de couches.

26
répondu Satish 2011-06-03 10:06:03

Pourquoi toujours essayer d'utiliser des mots complexes?

Un couche = une partie de votre code , si votre application est un gâteau, c'est une tranche.

Un "151930920 de" niveau = une machine physique , un serveur.

Un niveau héberge une ou plusieurs couches.


exemple de couches:

  • couche de présentation = habituellement tout le code lié à L'Interface utilisateur
  • couche D'accès aux données = tout le code relatif à l'accès à votre base de données

Niveau:

Votre code est hébergé sur un serveur = Votre code est hébergé sur un niveau.

Votre code est hébergé sur 2 serveurs = Votre code est hébergé sur 2 niveaux.

par exemple, une machine hébergeant le Site web lui-même (la Couche de présentation), une autre machine plus sécurisée hébergeant d'autant plus de code sensible à la sécurité (code d'affaires réel - couche d'affaires, couche d'accès à la base de données, etc.).


il y a tellement d'avantages à mettre en œuvre une architecture en couches. C'est délicat et la mise en œuvre correcte d'une application multicouche prend du temps. Si vous en avez, jetez un oeil à ce post de Microsoft: http://msdn.microsoft.com/en-gb/library/ee658109.aspx

21
répondu andrew 2016-12-29 21:52:39

j'ai trouvé une définition qui dit que les couches sont une séparation logique et les niveaux sont une séparation physique.

11
répondu cretzel 2008-09-23 11:42:09
  1. en anglais simple, le Tier fait référence à "chacune des rangées ou des niveaux d'une structure placée l'une au-dessus de l'autre" tandis que le Layer fait référence à" une feuille, une quantité ou une épaisseur de matériau, généralement l'une de plusieurs, couvrant une surface ou un corps".
  2. Tier est un unité physique , d'où le code / processus s'exécute. E. g.: client, serveur d'application, serveur de base de données;

    couche est un unité logique , comment organiser le code. E. g.: présentation (vue), de contrôleur, de modèles, de dépôt, d'accès aux données.

  3. les niveaux représentent la séparation physique de la présentation, des affaires, des services, et des fonctionnalités de données de votre conception à travers des ordinateurs et des systèmes séparés.

    couches sont les groupements logiques des composants logiciels qui constituent l'application ou le service. Ils aident à différencier les différents types de tâches effectuées par les composants, ce qui rend plus facile de créer une conception qui soutient la réutilisabilité des composants. Chaque couche logique contient un certain nombre de types de composants discrets regroupés en sous-couches, chaque sous-couche effectuant un type spécifique de tâche.

le modèle à deux niveaux représente un client et un serveur.

Dans ce scénario, le client et le serveur peuvent exister sur le même machine, ou peut-être situé sur deux machines différentes. La Figure ci-dessous illustre un scénario d'application web commune où le client interagit avec un serveur Web situé dans le niveau client. Ce niveau contient la logique de la couche présentation et toute logique de la couche affaires requise. L'application Web communique avec une machine séparée qui héberge le niveau de la base de données, qui contient la logique de la couche de données.

Layers vs Tiers

Avantages des couches et des niveaux:

  • Layering vous aide à maximiser la maintenabilité du code, optimiser la façon dont l'application fonctionne lorsqu'elle est déployée de différentes façons, et délimitent clairement les endroits où certains les décisions relatives à la technologie ou à la conception doivent être prises.

  • placer vos couches sur des niveaux physiques séparés peut aider la performance en répartissant la charge sur plusieurs serveurs. Il peut aussi aider à avec la sécurité en séparant les composants et les couches les plus sensibles sur différents réseaux ou sur Internet par opposition à un intranet.

une application à un niveau pourrait être une application à trois couches.

8
répondu TryinHard 2015-08-18 19:14:36

j'utilise des couches pour décrire l'architecte ou la pile de technologie dans un composant de mes solutions. J'utilise des niveaux pour regrouper logiquement ces composants typiquement quand la communication réseau ou interprocess est impliquée.

4
répondu Brian Matthews 2008-09-23 11:37:43

oui mes chers amis ont dit correctement. La couche est une partition logique de l'application tandis que le niveau est la partition physique du système la partition de niveau dépend de la partition de layer. Tout comme une application exécute sur une seule machine, mais elle suit une architecture en 3 couches, de sorte que nous pouvons dire que l'architecture de couches pourrait exister dans une architecture de niveau. En terme simple 3 couche architecture peut mettre en œuvre dans une seule machine alors nous pouvons dire que son architecture est à 1 niveau. Si nous implémentons chaque couche sur une machine séparée alors son appelé Architecture à 3 niveaux. Une couche peut aussi exécuter plusieurs niveaux. Dans l'architecture de layer composante liée à communiquer facilement l'un à l'autre.

Tout comme nous suivons donnée ci-dessous architecture

  1. couche de présentation
  2. de la couche logique métier
  3. couche d'accès aux données

un client pourrait interagir avec la" couche de présentation", mais ils accéder à la composante publique de la couche inférieure (comme la composante publique de la couche logique opérationnelle) à la "couche logique opérationnelle" pour des raisons de sécurité.

Q * Pourquoi utilisons-nous l'architecture des couches? parce que si nous implémentons l'architecture de couches, alors nous augmentons l'efficacité de nos applications comme

==>sécurité

= = > gérabilité

==>évolutivité

autre besoin comme après le développement de l'application nous besoin de changer le SGBD ou de modifier la logique opérationnelle, etc. ensuite, il est nécessaire à tous.

Q * Pourquoi utiliser l'architecture de niveau?

parce que la mise en œuvre physique de chaque couche donne une meilleure efficacité ,sans l'architecture de couche, nous ne pouvons pas mettre en œuvre l'architecture de niveau. machine séparée pour la mise en œuvre séparée niveau et niveau séparé est mettre en œuvre une ou plusieurs couches qui est la raison pour laquelle nous l'utilisons.

il utilise à des fins de faute tolérance. ==>facile à entretenir.

exemple Simple

comme une banque ouverte dans une chambre, dans quelles catégories l'employé:

  1. gardien de porte
  2. une personne pour de l'argent
  3. une personne qui est responsable pour introduire le système bancaire
  4. manager

ils sont tous les composants connexes du système.

si nous allons à la banque à des fins de prêt puis d'abord un gardien de porte ouvrir la porte avec le sourire après cela nous allons près d'une personne qui introduisent à tout schéma de prêt après cela on va chez le gérant cabin et on passe le prêt. Après que, finalement, on va à la caisse du compteur de prendre de prêt. Ce sont les couches de l'architecture de la banque.

et le niveau? Une banque ouvre une succursale dans une ville, puis dans une autre ville, puis dans une autre ville. mais quelle est la base besoins de chaque branche

  1. gardien de porte
  2. une personne pour de l'argent
  3. une personne qui est responsable pour introduire le système bancaire
  4. manager

exactement le même concept de couche et de niveau.

4
répondu atul 2013-03-11 11:17:05

j'aime la description ci-dessous de Microsoft Application Architecture Guide 2

couches décrivent les groupements logiques de la fonctionnalité et des composants dans une application; tandis que les niveaux décrivent la distribution physique de la fonctionnalité et des composants sur des serveurs, des ordinateurs, des réseaux ou des emplacements distants séparés. Bien que les couches et les niveaux utilisent le même ensemble de noms (présentation, affaires, services, et données), rappelez-vous que seuls les niveaux impliquent une séparation physique.

3
répondu sanjaykumar81 2017-07-05 06:30:38

couches sont une séparation logique de related-functionality[code] dans une application, la Communication entre les couches est explicite et faiblement couplée. [Logique de présentation, logique D'Application, logique D'accès aux données]

niveaux "sont une séparation physique de layers [qui sont hébergés sur des serveurs individuels] dans un ordinateur individuel(processus).

enter image description here

comme indiqué dans le diagramme:

1-Tier & 3-Layers « App Logic  with out DB access store data in a files.
2-Tier & 3-Layers « App Logic & DataStorage-box.
2-Tier & 2-Layers « Browser View[php] & DataStorage[procedures]
2-Tier & 1-Layers « Browser View[php] & DataStorage, query sending is common.
3-Tier & n-Layer  « Browser View[php], App Logic[jsp], DataStorage

n - Tier advantages:

une meilleure sécurité

Scalability : au fur et à mesure de la croissance de votre organisation, vous pouvez augmenter votre niveau de DB avec des dB-Clustering sans toucher à d'autres niveaux.

maintenabilité : web designer peut changer le View-code, sans toucher les autres couches sur les autres niveaux.

Facilement mise à niveau ou améliorer [Ex: Vous pouvez ajouter un Code D'Application supplémentaire, mise à niveau de la zone de stockage, ou même ajouter plusieurs couches de présentation pour les dispositifs séparés comme mobile, Tablette, pc]

2
répondu Yash 2017-01-12 16:54:52

couches sont des entités conceptuelles, et sont utilisés pour séparer la fonctionnalité du système logiciel d'un point de vue logique; lorsque vous mettez en œuvre le système vous organisez ces couches en utilisant des méthodes différentes; dans cette condition, nous les appelons non pas comme couches mais comme niveaux.

0
répondu gst 2014-02-12 15:00:39

une couche est un module logique de logiciel avec sa propre logique de base et frontière.

un niveau est un conteneur physique d'une ou plusieurs couches, tel qu'un serveur à travers un réseau ou plusieurs instances d'une même Machine virtuelle, travailler dans une charge équilibrée.

0
répondu E.Ehsani 2016-07-16 05:17:37

1.Dans l'architecture à 3 couches DAL(couche de base de données), BLL(couche Bissiness) et UIL (couche UI) peuvent travailler sur la même machine où comme dans une architecture à 3 niveaux un client sur une machine, le serveur d'application est hébergé dans une autre machine et le serveur de base de données réside dans une autre machine.

2.L'Architecture des couches améliorera la lisibilité et la réutilisabilité, minimisera les changements d'application dus à l'impact des changements dans les autres couches. Tandis que L'Architecture à 3 niveaux a tout avantages de 3 couches + évolutivité comme l'application sera déployée dans différentes machines de sorte que la charge sera partagée entre les niveaux et l'évolutivité augmentera.

0
répondu Parmeshwar 2017-07-29 09:26:00

lorsque vous parlez de présentation, service, données , couche réseau, vous parlez de couches. Lorsque vous "déployer séparément" vous parlez de niveaux.

Tiers est tout sur le déploiement. Prenez-le de cette façon : nous avons une application qui a une frontende créée en angle, il a un arrière-plan comme mongo db et une couche moyenne qui interagit entre la frontende et l'arrière-plan. Donc, quand cette application frontend, application de base de données, et la couche intermédiaire est tout déployé séparément, on dit que c'est une application à 3 niveaux.

avantage: si nous avons besoin d'augmenter l'échelle de notre arrière-plan dans le futur, nous ne pouvons augmenter l'échelle de l'arrière-plan indépendamment et pas besoin d'augmenter le front.

0
répondu Aarzoo Trehan 2018-08-08 10:00:08