Maison >Problème commun >Quelles sont les architectures logicielles courantes ?
Modèles d'architecture logicielle courants : modèle d'architecture en couches, modèle client-serveur, modèle maître-esclave, modèle de filtre pipeline, modèle proxy, modèle point à point, modèle de bus d'événements, modèle-vue-contrôleur ( MVC), mode tableau noir, mode interprète, etc.
10 modèles d'architecture logicielle courants
Vous voulez savoir ce que sont les grands systèmes au niveau de l'entreprise sont ? Comment a-t-il été conçu ? Avant de développer le corps principal du logiciel, nous devons choisir une architecture appropriée qui fournit les fonctionnalités et les caractéristiques de qualité requises. Nous devons donc comprendre les différentes architectures avant de les appliquer à la conception.
Qu'est-ce qu'un modèle architectural
Wikipedia : Le modèle architectural est un modèle courant , solution réutilisable à un problème courant dans un contexte donné d'architecture logicielle. Les modèles architecturaux sont similaires aux modèles de conception de logiciels, mais leur portée est plus large.
Dans cet article, j'expliquerai brièvement les applications, les avantages et les inconvénients des 10 modèles architecturaux courants suivants.
1. Mode superposé
2. Mode client-serveur
3. Mode maître-esclave
4. Mode filtre-tuyau
5. Mode proxy
6. Point -mode point
7. Mode bus d'événements
8. Mode modèle-vue-contrôleur
9. Mode tableau noir
10. Mode interprète
1. Modèle en couches
Ce modèle est utilisé pour créer un programme qui peut être décomposé en plusieurs groupes de sous-tâches. Chaque sous-tâche se trouve dans une certaine couche d'abstraction et chaque couche l'est. Le niveau supérieur suivant fournit des services. Le système à 4 couches le plus courant dans les systèmes d’information généraux est le suivant.
2. Mode client-serveur
Ce mode consiste en Deux compositions partielles : un seul serveur et plusieurs clients. Un composant serveur fournit des services à plusieurs composants clients. Les clients demandent des services au serveur et le serveur fournit les services correspondants à ces clients. De plus, le serveur continue d'écouter les demandes des clients.
Scénarios d'application
3. Mode maître-esclave
Ce mode se compose de deux parties : le nœud maître et plusieurs nœuds esclaves. Le composant de nœud maître répartit les tâches vers plusieurs composants de nœud esclave indépendants et calcule le résultat final sur la base des résultats renvoyés par les nœuds esclaves.
Scénario d'application
Mode filtre-tuyau
Ce modèle est utilisé pour construire des systèmes qui produisent et traitent des flux de données. Chaque étape de traitement est encapsulée dans un composant de filtre. Les données à traiter sont envoyées vers des tuyaux, qui peuvent être utilisés pour la mise en mémoire tampon ou la synchronisation.
Scénarios d'application
5. Mode agent
Ce modèle est utilisé pour construire des systèmes distribués avec des composants découplés. Ces composants interagissent entre eux via des appels à distance. Le composant proxy est responsable de la coordination des communications de plusieurs composants. Le serveur expose leurs capacités (services et fonctionnalités) au proxy ; le client obtient le service du proxy, puis le proxy redirige le client vers un service approprié dans l'enregistrement ; bibliothèque de services.
Scénarios d'application
6. Mode peer-to-peer
Dans ce mode, chaque composant indépendant est appelé un peer. Les pairs peuvent soit agir en tant que clients pour obtenir des services d'autres pairs, soit agir en tant que serveurs pour fournir des services à d'autres pairs. Les pairs peuvent agir en tant que clients, serveurs ou les deux, et changer de rôle de manière dynamique à tout moment.
Scénarios d'application
7. Mode bus événementiel
Ce mode gère principalement les événements et comporte 4 composants principaux : la source d'événement, l'écouteur d'événement, le canal et le bus d'événement. La source d'événements publie des messages sur un canal sur le bus d'événements, et l'auditeur s'abonne à un canal et est informé des messages publiés dans le canal abonné.
Scénarios d'application
8. Modèle Modèle-Vue-Contrôleur
Ce modèle est également appelé modèle MVC. Il divise le programme interactif en trois parties. : Modèle - Contient les fonctionnalités et les données de base, Vue - affiche des informations à l'utilisateur (plusieurs vues peuvent être définies), Contrôleur - gère les entrées de l'utilisateur. Pour ce faire, il sépare la représentation interne des informations utilisateur de la manière dont elles sont présentées et reçues, dissociant les composants et permettant une réutilisation efficace du code.
Scénarios d'application
Mode tableau noir
Ce mode est très utile pour les problèmes. qui n’ont pas de stratégie de solution déterministe, cela fonctionne. Le modèle de tableau noir se compose de trois composants principaux, le tableau noir - une mémoire globale structurée contenant des objets spatiaux de solutions, la source de connaissances - un module spécialisé avec sa propre représentation, et le composant de contrôle - le module de sélection, de configuration et d'exécution. Tous les composants ont accès au tableau noir et de nouveaux objets de données peuvent être générés et ajoutés au tableau noir. Dans Blackboard, certains types de données peuvent être trouvés sur la base de règles de correspondance provenant de sources de connaissances existantes.
Scénarios d'application
Mode interprète
Ceci Le modèle est utilisé pour concevoir des composants qui interprètent des programmes écrits dans un langage spécifique. Ce composant spécifie principalement comment évaluer les lignes de code de programme, qui sont ce qu'on appelle des instructions ou des expressions écrites dans un certain langage. Le point fondamental est de classer les symboles du langage.
Scénarios d'application
Comparaison des modèles architecturaux
Le tableau suivant présente les avantages et les inconvénients de chaque modèle architectural.
J'espère que cet article vous sera utile et j'aimerais connaître votre avis. Merci d'avoir lu. ^_^
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!