Table des matières:
- Il existe plusieurs approches communes de l'architecture des applications qui varient en fonction du nombre de couches utilisées. Un schéma commun consiste à diviser l'application en deux couches:
- Un autre modèle commun de conception d'applications Web est
Vidéo: 2-Part 1-Bases de l'architecture Dot Net- Asp Dot Net Core MVC 6 2025
Une approche pour concevoir des applications Web est de se concentrer sur des couches clairement définies de l'architecture de l'application. Cette approche est similaire à la façon dont un architecte conçoit un bâtiment. Si vous avez déjà vu des plans de construction détaillés pour un gratte-ciel, vous savez que les plans de construction comprennent des plans distincts pour les fondations, le cadre, le toit, la plomberie, l'électricité et les autres étages du bâtiment.
Avec une architecture en couches, les spécialistes peuvent concevoir et développer les «étages» - appelés couches - indépendamment, à condition que les connexions entre les couches (les interfaces >) sont soigneusement pensés. Les couches doivent être indépendantes les unes des autres, autant que possible. Entre autres choses, cela signifie qu'il faut tenir compte de quelques tâches obligatoires et non obligatoires:
Chaque couche doit avoir un focus clairement défini.
- Pour bien concevoir les calques, vous devez définir clairement les tâches et responsabilités de chaque calque.
- Si une couche est responsable de l'interaction de l'utilisateur, seule cette couche est autorisée à communiquer avec l'utilisateur. Les autres couches qui doivent obtenir des informations de l'utilisateur doivent le faire via le calque de l'interface utilisateur. Des protocoles clairement définis doivent être configurés pour que les couches puissent interagir les unes avec les autres.
- L'interaction entre les couches se produit uniquement via ces protocoles.
Combien de couches?
Il existe plusieurs approches communes de l'architecture des applications qui varient en fonction du nombre de couches utilisées. Un schéma commun consiste à diviser l'application en deux couches:
Couche d'application:
- La conception de l'interface utilisateur et l'implémentation des stratégies métier sont gérées dans cette couche. Cette couche peut également gérer la logique de transaction - le code qui regroupe les mises à jour de la base de données en transactions et garantit que toutes les mises à jour d'une transaction sont effectuées de manière cohérente. Data Access Layer:
- Le moteur de base de données sous-jacent qui prend en charge l'application. Cette couche est responsable du maintien de l'intégrité de la base de données. Une partie ou la totalité de la logique de transaction peut être implémentée dans cette couche. Dans le modèle à deux couches, le calque d'application est l'ASP. Pages Web NET qui définissent les pages présentées à l'utilisateur ainsi que les fichiers code-behind qui implémentent la logique de l'application. Data Access Layer est le serveur de base de données qui gère la base de données, tel que Microsoft SQL Server ou Oracle.
Notez que ASP. NET 2. 0 n'exige pas que vous placiez le code logique de l'application dans un fichier code-behind séparé. Au lieu de cela, vous pouvez intercaler le code logique avec le code de présentation dans le même fichier. Toutefois, il est presque toujours judicieux d'utiliser des fichiers séparés par code pour séparer la logique de l'application de son code de présentation. Toutes les applications présentées dans ce livre utilisent des fichiers code-behind séparés.
La répartition entre les couches application et accès aux données n'est pas toujours aussi nette qu'elle pourrait l'être. Pour des raisons de performances, la logique de transaction est souvent déplacée vers le serveur de base de données (sous la forme de procédures stockées) et les règles métier sont souvent implémentées sur le serveur de base de données avec des contraintes et des déclencheurs. Ainsi, le serveur de base de données gère souvent une partie de la logique de l'application.
Si ce désordre vous dérange, vous pouvez utiliser une architecture
à trois couches , qui ajoute une couche supplémentaire pour gérer les règles et stratégies métier: Couche de présentation:
- Cette couche gère l'utilisateur interface. Couche des règles métier:
- Cette couche gère les règles métier et les règles de l'application. Par exemple, si une application de vente accorde des réductions à certains utilisateurs, la stratégie de remise est implémentée dans cette couche. Data Access Layer:
- Le modèle de base de données sous-jacent qui prend en charge l'application. La création d'une couche distincte pour les règles métier vous permet de séparer les règles de la conception de la base de données et de la logique de présentation. Les règles d'affaires sont sujettes à changement. En les plaçant dans une couche distincte, il est plus facile de les modifier ultérieurement que si elles sont intégrées à l'interface utilisateur ou à la conception de la base de données.
Model-View-Controller
Un autre modèle commun de conception d'applications Web est
Model-View-Controller ( MVC ). Dans cette architecture, l'application est divisée en trois parties: Modèle
- : le modèle est, en effet, la couche de gestion de l'application. Il s'agit généralement d'objets qui représentent les entités métier composant l'application, tels que les clients et les produits. Affichage:
- L'affichage est l'interface utilisateur de l'application. Dans une application Web, cela consiste en une ou plusieurs pages HTML qui définissent l'apparence de l'application. Contrôleur:
- Le contrôleur gère les événements traités par l'application. Les événements sont généralement générés par des actions de l'interface utilisateur, par exemple lorsque l'utilisateur clique sur un bouton ou sélectionne un élément dans une liste déroulante. Dans un ASP typique. Application NET, le. Le fichier aspx implémente la vue; les fonctions du modèle et du contrôleur sont combinées et gérées par le fichier code-behind. Ainsi, le fichier code-behind peut être considéré comme le
contrôleur-modèle . Vous pouvez, bien sûr, séparer les fonctions du modèle et du contrôleur en créant des classes séparées pour les entités commerciales. Pour simplifier, les applications de ce livre conservent les fonctions du modèle et du contrôleur dans le fichier code-behind.
