Maison  >  Article  >  développement back-end  >  Pensée de développement en couches et Xiao Long Bao

Pensée de développement en couches et Xiao Long Bao

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

Alors que je prenais mon petit-déjeuner le matin, j'ai soudainement eu une inspiration et j'ai parlé de l'application en couches basée sur le xiaolongbao que j'ai mangé et de mon expérience de développement quotidienne.

Tout d'abord, parlons de ce qu'est une architecture à trois niveaux. Le développement dit à trois niveaux consiste à diviser l'ensemble de l'application métier en couche de présentation - couche de logique métier - couche d'accès aux données - base de données, etc. plus détaillé, divisant clairement la couche de présentation du client, l'accès à la logique métier, l'accès aux données et l'accès à la base de données sont divisés, ce qui est très propice au développement, à la maintenance, au déploiement et à l'expansion du système.

Le logiciel doit être superposé. En fait, en une phrase, il s'agit d'obtenir « une cohésion élevée et un faible couplage ». Adoptez l'idée de « diviser pour régner » pour diviser le problème en solutions individuelles, faciles à contrôler, faciles à étendre et faciles à allouer des ressources.

Quels sont les avantages de cette structure à trois couches ?

1. En divisant l'ensemble du système en différents blocs logiques, le coût de développement et de maintenance du système d'application est considérablement réduit.

La structure à trois niveaux sépare la partie présentation et la partie logique métier selon la couche client et le serveur d'applications, la communication entre le client et le serveur d'applications, le serveur d'applications et le serveur de base de données, ainsi que l'échange de données entre plates-formes hétérogènes. être effectué via un middleware ou des programmes associés à mettre en œuvre. Lorsque la logique métier de la base de données ou du serveur d'applications change, le client n'a pas besoin de changer, et vice versa, améliorant ainsi considérablement la réutilisabilité des modules système, raccourcissant le cycle de développement et réduisant les coûts de maintenance.

Compréhension intéressante :

Supposons que le restaurant fasse Xiao Long Bao comme ceci :

Une couche de raviolis cuits à la vapeur,

Une couche de petits pains à la viande,

Une couche de sac uni.

Tout d'abord, de cette façon, nous pouvons diviser les fabricants de petits pains en différents groupes qui seront responsables de la fabrication des différents petits pains. Lorsque chaque type de petit pain est fabriqué, ils peuvent facilement savoir dans quelle cage le mettre sans avoir à vérifier où le mettre un par un. Nous pouvons également facilement mettre la cage sur le feu sans affecter les autres chauffages de la cage. Lorsque nous voulons manger des petits pains à la viande ou des raviolis cuits à la vapeur, nous pouvons facilement trouver ce dont nous avons besoin, ce qui permet d'économiser du temps et de l'énergie. Retirer ou ajouter des petits pains à la viande ou des boulettes cuites à la vapeur n'affectera pas le chauffage des petits pains végétariens.

À votre avis, que se passerait-il si nous mettions tout cela dans une grande cage ? Sera-t-il très compliqué et long à entretenir ? Non seulement c'est difficile à trouver, mais chaque fois que vous ouvrirez le pot, cela aura un impact sur d'autres choses. 

2. Centralisez l’accès aux données et les opérations logiques dans des composants, améliorant ainsi la réutilisabilité du système.

Par exemple, l'accès aux données est centralisé dans les composants de la couche d'accès aux données, réduisant ainsi le code en double dans l'application. Chaque formulaire devant accéder aux bases de données et aux tables utilise les mêmes composants.

Par exemple : certaines opérations logiques courantes sont encapsulées dans les composants de la couche logique. Chaque opération utilisant cette méthode peut partager l'accès au composant.

Compréhension intéressante :

Pour comprendre simplement, la cage elle-même est un exemple de réutilisation. Si nous utilisons une cage jetable (entendue comme des baguettes jetables), combien de travail sera gaspillé (l'écriture répétitive est gênante), et il y aura un énorme gaspillage de ressources ( Code redondance), et enfin l'élimination des déchets (post-maintenance). De plus, si la cage et le pot de poêle sont fabriqués selon une spécification et une norme (interface), une telle cage peut non seulement être utilisée ici, mais peut également être utilisée dans d'autres endroits. (Bien que cette compréhension ne soit pas exacte, comprenez-la simplement de cette façon)

3. L’évolutivité du système est grandement améliorée.

La modularisation facilite l'extension du système dans les directions verticale et horizontale : d'une part, le système peut être mis à niveau vers une plate-forme plus grande et plus puissante, et en même temps, l'échelle peut être augmentée de manière appropriée pour améliorer l'application réseau de le système. Le traitement distribué des données devient possible en supprimant la restriction de l'isomorphisme du système. Lors de l'extension ou de la modification des fonctions, la stabilité de la structure d'origine ne sera fondamentalement pas détruite.

Compréhension intéressante :

Avec les besoins des clients, nous devons maintenant ajouter de nouvelles variétés, comme les petits pains cuits à la vapeur et les patates douces cuites à la vapeur, afin de pouvoir simplement ajouter une couche de cages, ce qui n'aura aucun impact sur les autres cages. 

Le rôle de la structure à trois niveaux dans la création de l'avantage concurrentiel d'une entreprise se reflète principalement dans la conception modulaire qui permet aux utilisateurs de réaliser une expansion du système basée sur la structure existante, améliorant ainsi la vitesse et le niveau commercial de l'informatisation de l'entreprise ; le middleware dans la structure à trois niveaux L'émergence du système permet aux utilisateurs de choisir directement les produits appropriés sur le marché pour construire des systèmes, réduisant considérablement le cycle de développement et les coûts de développement. 

Cependant, la structure hiérarchique présente également des inconvénients, et plus n'est pas toujours mieux. Il sera difficile de gérer plusieurs couches et l'efficacité opérationnelle peut être faible. Par conséquent, un système doté d’une bonne structure hiérarchique doit comporter le bon nombre de couches.

Documents associés : Architecture à trois niveaux et élevage porcin

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