Quelle est la différence entre "Layers" et "Tiers"?
architecture
cretzel
la source
la source
Réponses:
Source: Rockford Lhotka, toutes les applications devraient-elles être à n niveaux?
la source
Lisez le billet de Scott Hanselman sur la question: http://www.hanselman.com/blog/AReminderOnThreeMultiTierLayerArchitectureDesignBroughtToYouByMyLateNightFrustrations.aspx
la source
Les couches font référence à 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'entreprise ou couche de logique métier 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 couche respective. Nous avons donc maintenant 3 DLL.
Selon la façon dont nous déployons notre application, nous pouvons avoir 1 à 3 niveaux. Comme nous avons maintenant 3 DLL, si nous déployons toutes les DLL sur la même machine, nous n'avons alors qu'un seul niveau physique mais 3 couches logiques.
Si nous choisissons de déployer chaque DLL sur une machine distincte, 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 également dire que les niveaux sont le déploiement physique des couches.
la source
Pourquoi toujours essayer d'utiliser des mots complexes?
Une couche = une partie de votre code , si votre application est un gâteau, c'est une tranche.
Un niveau = une machine physique , un serveur.
Un niveau héberge une ou plusieurs couches.
Exemple de calques:
Étage:
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 Présentation), une autre machine plus sécurisée hébergeant du code plus sensible à la sécurité (code métier réel - couche métier, couche d'accès à la base de données, etc.).
Il y a tellement d'avantages à implémenter une architecture en couches. C'est délicat et la mise en œuvre correcte d'une application en couches prend du temps. Si vous en avez, consultez cet article de Microsoft: http://msdn.microsoft.com/en-gb/library/ee658109.aspx
la source
J'ai trouvé une définition qui dit que les couches sont une séparation logique et les niveaux sont une séparation physique.
la source
Dans un anglais simple, le
Tier
fait référence à "chacun dans une série de rangées ou de niveaux d'une structure placée l'un au-dessus de l'autre" tandis que leLayer
fait référence à "une feuille, une quantité ou une épaisseur de matériau, généralement l'un des nombreux, couvrant une surface ou un corps ".Le niveau est un unité physique , où le code / processus s'exécute. Par exemple: client, serveur d'applications, serveur de base de données;
La couche est une unité logique , comment organiser le code. Par exemple: présentation (vue), contrôleur, modèles, référentiel, accès aux données.
Les niveaux représentent la séparation physique de la présentation, des activités, des services et des fonctionnalités de données de votre conception sur des ordinateurs et des systèmes distincts.
Les couches sont les regroupements logiques des composants logiciels qui composent l'application ou le service. Ils aident à différencier les différents types de tâches effectuées par les composants, ce qui facilite la création d'une conception prenant en charge la réutilisation 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 de tâche spécifique.
Le modèle à deux niveaux représente un client et un serveur.
Dans ce scénario, le client et le serveur peuvent exister sur la même machine ou peuvent se trouver sur deux machines différentes. La figure ci-dessous illustre un scénario d'application Web courant dans lequel le client interagit avec un serveur Web situé dans le niveau client. Ce niveau contient la logique de la couche de présentation et toute logique de couche métier requise. L'application Web communique avec une machine distincte qui héberge le niveau de base de données, qui contient la logique de la couche de données.
Avantages des couches et des niveaux:
La superposition vous aide à maximiser la maintenabilité du code, à optimiser le fonctionnement de l'application lorsqu'elle est déployée de différentes manières et à délimiter clairement les emplacements où certaines décisions technologiques ou de conception doivent être prises.
Placer vos couches sur des niveaux physiques distincts peut améliorer les performances en répartissant la charge sur plusieurs serveurs. Il peut également contribuer à la sécurité en séparant les composants et couches plus sensibles sur différents réseaux ou sur Internet par rapport à un intranet.
Une application à 1 niveau peut être une application à 3 couches.
la source
Oui, mes chers amis ont dit correctement. La couche est une partition d'application logique tandis que le niveau est la partition physique de la partition du niveau système dépend de la partition de couche. Tout comme une application s'exécute sur une seule machine, mais elle suit une architecture à trois couches, nous pouvons donc dire que l'architecture de couche pourrait exister dans une architecture à plusieurs niveaux. En termes simples, l'architecture à 3 couches peut être mise en œuvre sur une seule machine, alors nous pouvons dire que c'est une architecture à 1 niveau. Si nous implémentons chaque couche sur une machine distincte, son architecture s'appelle 3 niveaux. Une couche peut également exécuter plusieurs niveaux. Composant lié à l'architecture de couche pour communiquer facilement entre eux.
Tout comme nous suivons l'architecture donnée ci-dessous
Un client peut interagir avec la "couche de présentation", mais il accède au composant public de la couche inférieure (comme le composant public de la couche logique métier) à la "couche logique métier" pour des raisons de sécurité.
Q * Pourquoi utilisons-nous l'architecture de couche? parce que si nous implémentons une architecture de couche, nous augmentons l'efficacité de nos applications comme
==> sécurité
==> gérabilité
==> évolutivité
d'autres besoins comme après avoir développé une application, nous devons changer dbms ou modifier la logique métier, etc., il est nécessaire à tous.
Q * Pourquoi utilisons-nous l'architecture de niveau?
parce que l'implémentation physique de chaque couche donne une meilleure efficacité, sans architecture de couche, nous ne pouvons pas implémenter une architecture de niveau. une machine distincte pour implémenter un niveau séparé et un niveau séparé consiste à implémenter une ou plusieurs couches, c'est pourquoi nous l'utilisons.
il utilise à des fins de tolérance aux pannes. ==> facile à entretenir.
Exemple simple
Tout comme une banque ouverte dans une chambre, dans quelles catégories l'employé:
ils sont tous les composants connexes du système.
Si nous allons à la banque à des fins de prêt, un gardien de porte ouvre d'abord la porte avec le sourire, après quoi nous nous rendons près d'une personne qui présente tout le système de prêt, après quoi nous allons dans la cabine du gestionnaire et passons le prêt. Après cela, finalement, nous allons au comptoir du caissier prendre un prêt. Ce sont des architectures de couches de banque.
Et le niveau? Ouverture d'une agence bancaire dans une ville, après celle d'une autre ville, puis celle d'une autre mais quelle est l'exigence de base de chaque agence
exactement le même concept de couche et de niveau.
la source
Les couches sont la séparation logique d'
related-functionality[code]
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]Les niveaux sont la séparation physique de
layers
[qui sont hébergés sur des serveurs individuels] dans un ordinateur individuel (processus).Comme le montre le diagramme:
n- Avantages de niveau :
meilleure
évolutivité de la sécurité : à mesure que votre organisation se développe Vous pouvez étendre votre niveau DB avec le clustering DB sans toucher à d'autres niveaux.
Maintenabilité : le concepteur Web peut modifier le code d'affichage sans toucher aux autres couches des autres niveaux. Mettez à niveau ou améliorez
facilement [Ex: vous pouvez ajouter un code d'application supplémentaire, mettre à niveau la zone de stockage, ou même ajouter plusieurs couches de présentation pour des appareils distincts comme les mobiles, les tablettes, les ordinateurs]
la source
J'aime la description ci-dessous du Guide d'architecture d'application Microsoft 2
la source
J'utilise des couches pour décrire l'architecte ou la pile technologique au sein d'un composant de mes solutions. J'utilise des niveaux pour regrouper logiquement ces composants généralement lorsqu'une communication réseau ou interprocessus est impliquée.
la source
Techniquement, un niveau peut être une sorte d'environnement minimum requis pour l'exécution du code.
Par exemple, une application à 3 niveaux peut fonctionner sur
1 machine physique avec 3 machines virtuelles sans OS.
(C'était une application de niveau 3 (matériel))
1 machine physique avec 3 machines virtuelles avec 3 OS différents / identiques
(C'était une application de niveau 3- (OS))
1 machine physique avec 1 machine virtuelle avec 1 OS mais 3 AppServers
(C'était une application de niveau 3 (AppServer))
1 machine physique avec 1 machine virtuelle avec 1 OS avec 1 AppServer mais 3 SGBD
(C'était une application de niveau 3- (SGBD))
1 machine physique avec 1 machine virtuelle avec 1 OS avec 1 AppServers et 1 SGBD mais 3 classeurs Excel.
(C'était une application de niveau 3 (AppServer))
Le classeur Excel est l'environnement minimal requis pour l'exécution du code VBA.
Ces 3 classeurs peuvent être installés sur un seul ordinateur physique ou sur plusieurs.
J'ai remarqué que dans la pratique, les gens signifient «niveau OS» lorsqu'ils disent «niveau» dans le contexte de description de l'application.
C'est-à-dire que si une application s'exécute sur 3 systèmes d'exploitation distincts, c'est une application à 3 niveaux.
Donc, une façon pédantiquement correcte de décrire une application serait
Application «1 à 3 niveaux, fonctionnant sur 2 niveaux».
:)
Les couches ne sont que des types de code en ce qui concerne la séparation fonctionnelle des tâches avec l'application (par exemple, présentation, données, sécurité, etc.)
la source
Les couches sont des entités conceptuelles et sont utilisées pour séparer la fonctionnalité du système logiciel d'un point de vue logique; lorsque vous implémentez le système, vous organisez ces couches en utilisant différentes méthodes; dans cette condition, nous les appelons non pas des couches mais des niveaux.
la source
Lorsque vous parlez de présentation, de service, de données, de couche réseau, vous parlez de couches. Lorsque vous les "déployez séparément", vous parlez de niveaux.
Les niveaux sont tout au sujet du déploiement. Prenez-le de cette façon: nous avons une application qui a un frontend créé en angulaire, il a un backend comme MongoDB et une couche intermédiaire qui interagit entre le frontend et le backend. Ainsi, lorsque cette application frontale, l'application de base de données et la couche intermédiaire sont toutes déployées séparément, nous disons qu'il s'agit d'une application à 3 niveaux.
Avantage: si nous avons besoin de faire évoluer notre backend à l'avenir, nous avons seulement besoin de faire évoluer le backend de manière indépendante et il n'est pas nécessaire d'augmenter le frontend.
la source