Question

Quels sont les avantages d'une architecture N-couches? Comment est-ce que faire une application mieux?

Était-ce utile?

La solution

De :

  • D'autres applications seront en mesure de réutiliser les fonctionnalités exposées par vos couches.
  • Vous pourrez distribuer vos couches sur plusieurs niveaux physiques. Cela peut faire un très bon impact sur votre application en améliorant les performances (parfois), l'évolutivité et la tolérance aux pannes.
  • Le maintien de votre application est plus facile en raison du faible couplage entre les couches.
  • Ajout de nouvelles fonctionnalités à votre application est facilitée.
  • Layers rendre votre application plus testable.
  • Construire couches bien formées rend l'orientation dans votre application plus facile.
  • Avoir votre application et non en couches signifie que vous devez faire face à toutes les menaces de sécurité dans un endroit qui est très difficile. Avoir votre application distribuée aux couches rend beaucoup plus facile pour la conception et la mise en œuvre
  • Sans un bon plan de déploiement, il est trivial de ne pas distribuer vos couches sur plusieurs niveaux physiques distribués calcul. Vous devez planifier à l'avance vos calques lorsque vous créez une application distribuée.

Autres conseils

entretien et des améliorations à la solution sont plus faciles en raison du faible couplage entre les couches, de haute cohésion entre les couches, et la possibilité de basculer en faisant varier les mises en œuvre des interfaces des couches.

D'autres solutions devraient être en mesure de réutiliser les fonctionnalités exposées par les différentes couches, en particulier si les interfaces de couche sont conçues avec une réutilisation à l'esprit.

Le développement distribué est plus facile si le travail peut être distribué aux limites de la couche.

La distribution des couches sur plusieurs niveaux physiques peut améliorer l'extensibilité, la tolérance aux pannes, et ses performances. Pour plus d'informations, voir le modèle de distribution à plusieurs niveaux.

testabilité des avantages d'avoir des interfaces des couches bien définies, ainsi que la possibilité de basculer sur différentes implémentations des interfaces des couches.

Résumé

Benifits sont

  1. La réutilisation des couches
  2. Soutien à une normalisation
  3. Les dépendances sont conservés locale
  4. échangeabilité

Firs de tous, l'architecture en couches est un type de « conception modulaire ». Par conséquent, afin d'apprécier les avantages de l'architecture en couches, il faut savoir ce que la conception modulaire est. En second lieu, il est un type spécial de conception modulaire, organisée spécialement pour gérer les dépendances afin de minimiser le couplage serré, réalisant ainsi les objectifs de conception modulaire - modles / composants autonomes. Lorsque nous avons des modules autonomes / indépendants, ils peuvent être réutilisés, étendu, testé, et ainsi de suite, par rapport au cas où l'architecture / design n'est pas modulaire.

J'ai un article sur l'architecture en couches, où je discuterai ces choses plus en détail. Il pourrait être utile.

Layered architecture Explained

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