2009-06-16 5 views
1

J'ai une application .NET 2.0 à trois niveaux. La couche de présentation fait référence au niveau intermédiaire. Le niveau intermédiaire référence la couche de base de données. Pour une raison quelconque, lorsque je compile, les dll de la couche de données apparaissent dans la corbeille de la couche de présentation. Comment puis-je arrêter cela?Couche de présentation faisant référence à la couche de données

Répondre

1

La seule façon d'arrêter cela est de faire une ou plusieurs de vos niveaux une couche de service (ou similaire) pour séparer physiquement vos niveaux.

Étant donné que vos différents niveaux ont été compilés les uns contre les autres, les assemblages doivent être présents pour que l'ensemble de l'application fonctionne correctement. Comment envisagez-vous l'application qui fonctionne sans tous les assemblages?

1

set copie locale false dans les propriétés de référence

+0

Cela ne fonctionnera pas une fois que vous avez besoin de déployer l'application. –

+2

C'est vrai, mais il demandait juste comment l'arrêter. – epitka

1

Il est possible d'être copié car il existe des dépendances. Votre niveau intermédiaire dépend de DataAccess et de l'interface utilisateur du niveau intermédiaire. Vous devez garder une trace uniquement pour ne pas référencer l'accès aux données depuis l'interface utilisateur.

0

Normalement, je ne demande de couche physique comme suit:

  1. UI
  2. Présentateur
  3. BusinessLogic
  4. DataAccess
  5. Entité

Mais je change mon avis sur cette organisation. Comme j'ai fait beaucoup de projets et certains d'entre eux exigent des travaux de maintenance et d'amélioration. Je commence à penser que cette organisation est trop monolithique. Certains auteurs comme Ted Faison, Tomas Erl, Robert C. Martin, Andy Aunt dit que cette approche hiérarchique est un peu naïf.

En tout cas ... Mettez votre logique dans des projets séparés et construisez-les comme des assemblages distincts. Faites des références hiérarchiques et vous aurez ce que vous voulez.

Questions connexes