Architecture à 3 niveaux - Besoin d'un exemple
Actuellement, je suis en train de travailler à l'aide de niveau unique de l'architecture. Maintenant, je suis désireux d'apprendre à écrire du code à l'aide de 3 architecture de niveau. S'il vous plaît pouvez-vous me fournir un exemple simple?
source d'informationauteur Surya sasidhar
Vous devez vous connecter pour publier un commentaire.
C'est ce que j'ai dans mon projet. Plus qu'un traditionnel de l'architecture 3 tiers.
1.) Application.L'Infrastructure
2.) Application.DataModel
3.) Application.DataAccess
4.) Application.DomainObjects
5.) Application.BusinessLayer
6.) Application.WebClient ou Application.WindowsClient
Application.BusinessObjects sont utilisés dans l'application et qu'ils voyagent à travers toutes les couches à chaque fois que neeeded [à l'exception de l'Application.Modèle de données et l'Application.Infrastructure]
Toutes mes requêtes sont uniquement déterminés par la Demande.DataModel.
Application.DataAccess retourne ou prend Business objects dans le cadre de tout accès aux données de fonctionnement. Entreprise les objets sont créés avec l'aide de la réflexion attributs. Chaque objet métier est marqué avec un attribut de la cartographie à la table cible dans la base de données et les propriétés à l'intérieur de l'objet de l'entreprise sont marquées avec des attributs de la cartographie pour cible coloumn dans la base de données de la table.
Mon framework de validation me permet de valider chaque champ avec l'aide de désigné ValidationAttribute.
Mon framrwork lourdement utilise des Attributs pour automatiser la plupart des tâches fastidieuses telles que la cartographie et de la validation. Je peux aussi nouvelle fonctionnalité nouvel aspect dans le cadre.
Un exemple de business object serait ressembler à ceci dans mon application.
De l'utilisateur.cs
BookCollection.cs
Wikipedia ont une belle explication: Une architecture en couches:
Par "niveau" voulez-vous dire par "couche" dans votre logiciel de pile? Le mot "niveau" est mieux utilisé pour décrire la physique des composants de votre système. Si vous utilisez ASP.NET, vous avez probablement déjà un "3 niveaux" système -
Mais vous êtes peut-être mettre votre code dans un seul logiciel "couche" - plus précisément, le fichier code-behind de vos pages aspx. Vous souhaitez vous déplacer à partir d'une seule couche d'une couche de 3 approche. Le classique "3 couches" de l'architecture logicielle se compose des éléments suivants -
Couche De Présentation
De la Couche Logique métier (BLL)
Couche d'Accès aux données (DAL)
le texte d'alt http://weblogs.asp.net/blogs/fredriknormen/WindowsLiveWriter/UsingWebServicesina3tierarchitecture_134F6/3tier_2.jpg
Pour un type ASP.NET app, vous pouvez appliquer ce qui suit. Tout d'abord, vous créez un LINQ2SQL fichier (.dbml) contenant les objets de votre base de données access. C'est votre Couche d'Accès aux Données (DAL).
Ensuite, vous pouvez créer une DLL pour contenir votre de la Couche Logique Métier (BLL). Cette couche permettra d'accéder à la base de données via le DAL, la manipuler comme requis, puis l'exposer via une interface simple. Par exemple, si votre application affiche une liste de clients, de votre BLL pourrait avoir une fonction publique appelée GetClientList() qui retourne une liste de clients.
Enfin, vous définissez votre code derrière fichiers pour instancier la BLL et le fil jusqu'à l'composants de l'interface. C'est votre Couche de Présentation. Par exemple, il peut prendre les données renvoyées par votre GetClientList() de la fonction et de la lier à une grille de données sur le formulaire web. L'idée est d'avoir la présentation de la couche aussi mince que possible.
Cela semble un peu longues à décrire, mais c'est assez simple une fois que vous avez fait une couple de fois. Vous trouverez que la séparation de votre application comme cela sera beaucoup plus facile à maintenir, comme le la séparation des préoccupations conduit à plus propre code. Vous trouverez également beaucoup plus facile de mettre à niveau ou remplacer la couche de présentation, car il contient très peu d'astuce. Enfin, vous arriverez à un point où vous avez un certain nombre de très utile BLL bibliothèques que vous pouvez facilement consommer dans de nouvelles applications, qui améliore considérablement la productivité.
Couche de présentation: mettre tout ce qui est lié à l'interface utilisateur. (Ce que voit l'utilisateur)
De la couche de gestion: tout ce qui est lié à la logique de l'application (Comment l'information est venue de couche de présentation traités)
Couche de données: fournir une abstraction des données de base source(s) (Où et comment les informations provenant de/aller à la couche de gestion est stockée)
Chaque couche doit savoir le moins possible sur les autres et il devrait être une approche top down:
Exemple Simple:
Site web:
Architecture de niveau 3 peut avoir différentes significations selon le contexte. Généralement, cela signifie que les responsabilités dans l'application sont réparties entre les différents niveaux. Généralement, niveau 3 se réfère à :
Les détails varient en fonction de l'application.
Wikipédia, comme d'habitude, a une belle vue d'ensemble: http://en.wikipedia.org/wiki/Multitier_architecture
Un exemple simple serait une entreprise typique d'application:
Une architecture de niveau 3 comporte généralement les éléments suivants:
Donc, pour répondre à votre question sur comment écrire du code pour une architecture de niveau 3, vous développez un ASP.NET application qui communique avec un stockage de données.
Un bon tutoriel, complet, contrôle de la source de téléchargement d'un bien écrite niveaux d'application serait ici:
http://nerddinnerbook.s3.amazonaws.com/Intro.htm
Ce n'est pas un tutoriel sur l'architecture à plusieurs niveaux, mais c'est bien écrit, d'application et donne un aperçu des raisons pour lesquelles vous pourriez envisager de cette architecture.
En outre, comme cela a été brièvement évoquée ci-dessus, c'est sur la tenue de votre logique/stockage/code de présentation séparé, donc si vous devez modifier un (e.g changer de asp.net frontale pour une application de bureau), il n'est pas si difficile à faire.
Trois de la couche (layer) est une architecture client-serveur, dans lequel l'interface utilisateur, processus d'affaires (business rules) et de stockage de données et d'accès aux données sont développés et maintenus sous forme de modules indépendants ou le plus souvent sur des plates-formes.
Fondamentalement, il y a 3 couches:
Ce qui est de la nécessité de diviser le code en 3-tiers? La séparation de l'interface utilisateur à partir de la logique métier et l'accès à la base a de nombreux avantages. Certains des avantages sont comme suit: