Question

Je suis confus au sujet des différentes possibilités d'exprimer une architecture à 3 niveaux.

Data-Access-Layer
Business-Layer
Presentation Layer (User Interface)

ou

Database (aka Backend)
Business-Layer
Presentation Layer (User Interface)

Pourquoi pouvez-vous ignorer la base de données dans la 1ère approche? Les deux utiliser une base de données! Est-ce que la base de données appartiennent à la superposition ou non?

Qu'est-ce qui ne va pas et ce qui est juste?

Quelqu'un peut-il vous préciser cela?

Était-ce utile?

La solution

Data-Access-Layer
Business-Layer
Presentation Layer (User Interface)

Data-Access-couche est pas nécessairement une base de données. Il pourrait être un fichier XML. Il pourrait être un flux RSS. Il pourrait être une application externe. Il pourrait être quelque chose comme ça vous obtient des données dans votre application.

Il est vraiment:

[Data-Source]
Data-Access-Layer
Business-Layer
Presentation Layer (User Interface)

[Data-Source] est la base de données, XML, RSS, peu importe ... Je préfère penser à lui-même source de données en tant que pilote, pas une couche.

La flexibilité de cette approche vous permet d'échanger votre source de données sans toucher le reste de l'application. Donc, si vous avez commencé à l'aide de fichiers XML que vos données back-end, et vous voulez changer à une base de données à la place, vous ne touchez que la couche DAL - le reste de l'application ne se soucie pas aussi longtemps qu'il obtient toujours le données dans le même format.

Autres conseils

Avez-vous pensé que votre dal ne peut pas utiliser un db il pourrait utiliser un fichier xml?

La première approche utilise un concept plus abstrait qui est ce que la couche 3 niveaux est.

Les choses qui va dans chaque couche dépend de la mise en œuvre du tiers des. Yuo peut constater que vous mélangez vos couches entre « programmes » GUI / DB / BizLogic mais dans l'abstrait vous mantenir encore ces couches.

  

Data-Access-couche
  Business-couche
  La couche de présentation (User Interface)

Compte tenu de ce qui précède, vous peut wirte code qui se connecte à votre base de données. Est-ce que le DAL ou la logique?

Je considère que le DAL comme vous écrivez du code pour accéder aux données.

Niveau présentation     Ceci est le niveau le plus élevé de l'application. L'affiche des informations de niveau de présentation liés à ces services que la navigation sur les marchandises, les achats et le shopping contenu du panier. Il communique avec d'autres niveaux en produisant des résultats au niveau du navigateur / client et tous les autres niveaux du réseau.
Niveau application (Business Logic / Logique Niveau / Niveau d'accès aux données / Middle Tier)
    Le niveau logique est tiré de la couche de présentation et, comme sa propre couche, il contrôle la fonctionnalité d'une application en effectuant un traitement détaillé.
Niveau de données     Ce niveau se compose de serveurs de base de données. Ici, les informations sont stockées et récupérées. Ce niveau conserve les données neutre et indépendant des serveurs d'applications ou la logique métier. Giving données son propre niveau améliore également l'évolutivité et les performances.

Voir ci-dessous pour plus de détails:
http://en.wikipedia.org/wiki/Multitier_architecture

groupe de Microsoft Patterns et pratiques a un excellent Guide d'architecture qui passe par toutes les variations sur cette question . Il est peu concentré vers .NET, mais il est très applicable à tout environnement. Hautement recommandé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top