Maison  >  Article  >  développement back-end  >  Architecture à trois niveaux et élevage porcin

Architecture à trois niveaux et élevage porcin

巴扎黑
巴扎黑original
2017-04-30 10:26:041728parcourir

Afin de mieux permettre aux débutants de démarrer facilement, nous utilisons ici encore une manière intéressante d'aborder quelques points techniques courants, dédiée à l'amélioration rapide des novices .NET ! La connaissance est commune, la clé est l'idée d'apprendre. La technologie vient de la vie et la technologie peut être apprise de cette manière. Je jette juste quelques briques et mortier.

La structure hiérarchique est visible partout dans la société réelle. Je me souviens qu'il y avait une blague à propos d'un chef de village qui se vantait fièrement auprès de sa femme : « Il n'y a que quatre personnes en Chine qui occupent des postes plus officiels que moi : le chef de canton, le chef de comté, le gouverneur de province et le premier ministre de l'État. Conseil." Cette plaisanterie reflète aussi le phénomène de stratification dans la société réelle. Les groupes sociaux seront stratifiés, tout comme la structure du personnel de l'entreprise. Les bâtiments seront également stratifiés, et même les cages utilisées pour fabriquer les petits pains cuits à la vapeur seront stratifiées. Bien que les objectifs de la superposition varient, ils sont tous créés pour résoudre un certain problème. Par conséquent, l’architecture en couches est en réalité une solution créée pour résoudre un certain problème.

Conception d'architecture à trois niveaux couramment utilisée

Les systèmes logiciels les plus couramment utilisés parlent généralement d'architecture à trois niveaux. En fait, l'ensemble de l'application métier est divisé en couche de présentation, couche de logique métier, couche d'accès aux données, etc. Certains sont encore plus détaillés. Détails commerciaux, différents codes fonctionnels. La décentralisation est plus propice à la conception et au développement du système, tout en fournissant des unités plus petites pour d'éventuels changements, ce qui est très propice à la maintenance et à l'expansion du système.

L'architecture commune à trois niveaux comprend essentiellement les parties suivantes, comme le montre la figure 1.


Figure 1 Architecture commune à trois niveaux

  • Couche d'accès aux données DAL : utilisée pour mettre en œuvre l'interaction et l'accès avec la base de données, obtenir des données de la base de données ou enregistrer des données dans la base de données.


  • Couche de logique métier BLL : La couche de logique métier connecte les couches supérieure et inférieure et est utilisée pour traiter logiquement les données interactives supérieures et inférieures afin d'atteindre les objectifs commerciaux.


  • Couche de présentation Web : implémente principalement l'interaction avec les utilisateurs, reçoit les demandes des utilisateurs ou renvoie l'affichage des résultats de données demandés par les utilisateurs, et le traitement spécifique des données est laissé à la couche de logique métier et à la couche d'accès aux données.

Dans de nombreux cas de développement quotidien, afin de réutiliser certaines choses communes, certaines choses utilisées par chaque couche seront abstraites. Par exemple, nous séparons les entités et les méthodes des objets de données afin de les transmettre à travers plusieurs couches, telles que celles appelées Modèle. Certaines classes auxiliaires générales et méthodes d'outils communes, telles que la vérification des données, le traitement de la mise en cache, le traitement du cryptage et du déchiffrement, etc., sont également séparées séparément et utilisées comme modules indépendants afin de permettre la réutilisation entre différentes couches, telles que appelées Common.

À ce stade, l’architecture à trois niveaux évoluera vers la situation illustrée à la figure 2.


Figure 2 Résultats de l'évolution de l'architecture à trois niveaux

  • Modèle d'entité métier : utilisé pour encapsuler des structures de données de classe d'entité, généralement utilisées pour mapper des tables ou des vues de base de données afin de décrire des objets objectivement existants dans l'entreprise. Le modèle est séparé pour un meilleur découplage, un meilleur jeu du rôle de superposition, une meilleure réutilisation et expansion et une flexibilité accrue.


  • Bibliothèque de classes communes Common : Classe d'outils auxiliaires commune.

Nous pouvons encapsuler de manière abstraite les opérations courantes de la base de données dans des classes d'opérations de données (telles que DbHelperSQL) pour une meilleure réutilisation et un code plus simple. La couche inférieure de la couche de données utilise des classes d'opérations générales de base de données pour accéder à la base de données. L'architecture finale complète à trois couches est illustrée à la figure 3.


Figure 3 L'architecture finale complète à trois couches

Classe d'accès à la base de données est une encapsulation d'ADO.NET, encapsulant certaines opérations de base de données répétées couramment utilisées. Par exemple, la bibliothèque d'entreprise SQLHelper.cs de Microsoft, DBUtility/DbHelperSQL de Dongsoft, etc. fournissent à DAL des classes d'outils auxiliaires pour accéder aux bases de données.

Grâce à l'analyse ci-dessus, nous savons à quoi ressemble l'architecture à trois niveaux couramment utilisée aujourd'hui. En même temps, nous connaissons également certains des processus d'évolution de l'architecture à trois niveaux au cours de son utilisation. Alors, pourquoi est-il superposé de cette manière et quel est le rôle de chaque couche de structure ? Continuons à regarder vers le bas.

Compréhension intéressante : architecture à trois niveaux et élevage porcin

Le prix du porc n'a cessé d'augmenter. On dit que certaines personnes sont devenues riches et aisées en élevant des porcs. Les programmeurs disent qu'il n'y a pas d'avenir dans l'écriture de code et qu'ils pourraient tout aussi bien élever des porcs. Je ne pense pas qu'élever des porcs n'a pas de contenu technique et est plus facile que d'écrire du code. En fait, élever des porcs n'est pas aussi technique que l'écriture de code. Afin de mieux comprendre l’architecture à trois niveaux, prenons comme exemple l’élevage porcin. Comme le dit le proverbe : « Si vous n’avez pas mangé de porc, vous n’avez pas vu un cochon courir ! ».

La figure 4 est un schéma intéressant de la chaîne de montage de l'industrie porcine avec une architecture à trois couches.


Figure 4 Structure à trois couches et élevage porcin

En comparant la figure 3 et la figure 4, nous pouvons voir :

  • La base de données est comme une porcherie Tous les porcs sont stockés dans différentes porcheries de manière ordonnée par zone ou par numéro.


  • DAL est comme un abattoir . Les porcs sont sortis de la porcherie et abattus (transformés). Les parties correspondantes (champs) sont sorties selon les besoins, ou classées et organisées (statistiques) pour former un tout. boîte de porc (Ensemble de données), transmis à l'usine de transformation alimentaire (BLL). À l'origine, le même groupe de personnes était responsable à la fois de la capture et de la mise à mort des porcs ici. Plus tard, j'ai senti que l'efficacité était trop faible, alors j'ai laissé certaines personnes se charger de la capture des porcs (DBUtility) et attraper les porcs désignés en fonction. aux exigences.


  • BLL est comme une usine de transformation alimentaire , qui transforme en profondeur le porc en divers aliments comestibles (transformation commerciale).


  • Le Web est comme un centre commercial , qui emballe les aliments dans de beaux produits pouvant être vendus et les affiche aux clients (couche de présentation de l'interface utilisateur).


  • Le porc est comme le modèle. Quel que soit l'usine (le niveau), l'essence livrée dans chaque maillon est le porc, et le porc traverse tout le processus.


  • Bibliothèque de classes communes Common équivaut à divers outils utilisés par les travailleurs, fournissant des outils communs (classes) tels que des couteaux de boucher, des cordes, des ciseaux, des boîtes d'emballage, des chariots à outils, etc. pour chaque usine (niveau). En fait, chaque département aurait pu créer ses propres outils, mais cela aurait été moins efficace et peu professionnel, et beaucoup de travail aurait été répété. Par conséquent, quelqu’un a ouvert une usine comme celle-ci pour fabriquer ces outils et les fournir à diverses usines. Avec une telle division du travail, les usines peuvent se concentrer sur leur propre activité.

Bien sûr, ce n’est qu’une métaphore. Le but est de permettre à chacun de mieux comprendre que la situation réelle sera différente dans les détails. Cet exemple illustre uniquement le processus à sens unique de la porcherie au centre commercial. Dans un développement réel à trois couches, l'interaction des données est bidirectionnelle et peut être récupérée ou stockée. Cependant, on dit qu'il existe une machine qui fait entrer les porcs d'un côté et le jambon sort de l'autre côté. Si la saucisse de jambon ne peut pas être vendue, remettez-la par l'autre extrémité et le cochon sortira exactement tel qu'il est. C'est une machine de science-fiction. Je ne m'attendais pas à ce qu'elle soit connectée au trois couches. structure. Ce qui précède n’est qu’une blague, mais cela facilite également la compréhension du concept de base de l’architecture à trois niveaux.

Cela dit, certaines personnes pourraient se demander : ne puis-je pas récupérer directement le contenu de la base de données et l'exploiter directement ? Pourquoi s’embêter à utiliser une architecture à trois niveaux ? Quels sont les avantages de l’architecture à trois niveaux ?

Sans stratification, bien sûr, c'est possible, tout comme l'ensemble du processus n'est pas divisé en abattoirs, usines de transformation, etc., tout le travail (abattage, transformation et vente) est effectué au même endroit (usine). Mais pourquoi des usines de transformation et des centres commerciaux ? Car lorsque l'échelle est relativement grande, la gestion deviendra très compliquée, et ce type de méthode d'élevage ne peut plus répondre aux besoins d'échelle. De plus, du point de vue du développement social, la division sociale du travail est une manifestation du progrès humain. L'avantage de la division sociale du travail est qu'elle permet aux personnes compétentes de faire ce pour quoi elles sont bonnes, ce qui réduit considérablement la durée moyenne du travail social et améliore considérablement l'efficacité de la production. Seuls ceux qui peuvent fournir des produits de travail efficaces et de haute qualité peuvent obtenir des bénéfices élevés et une valeur élevée dans un contexte de concurrence sur le marché. Le sens le plus profond de l'utilisation optimale des talents des individus et des matériaux vient de la division du travail dans la société. La même chose est vraie pour le développement de logiciels lorsque l'on travaille sur de petits projets, il n'y a vraiment aucune différence entre la superposition ou non, et cela semble plus compliqué et verbeux. Mais lorsque les projets deviennent plus grands et plus complexes, la superposition montre ses avantages. Par conséquent, la division ou non en couches dépend de la situation réelle du projet et ne peut être généralisée.

Documents associés : Idées de développement en couches et Xiao Long Bao

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn