2010-02-03 2 views
1

Je travaille sur un projet dans VB.Net et j'ai besoin d'implémenter le DAL. Je ne suis pas tout à fait sûr où dans mon projet est le meilleur endroit pour coller les DAO. Dois-je coller le DAO dans le même espace de noms que les objets métier qui vont les utiliser. Ou devrais-je regrouper tous les DAO ensemble.Où les DAO devraient-ils aller dans une structure de projet?

J'ai un arrière-plan Java qui pourrait entacher ma compréhension de votre réponse .Netish. :)

Répondre

1

J'essaie toujours de garder les choses bien et bien rangé. Vous devriez essayer de maintenir une conception modulaire, même s'il s'agit d'un petit projet. Je me suis trop souvent brûlé les doigts.

Exemple: PG.CustomerCare.DAL < - accès aux données couche

PG.CustomerCare.BO < - Business Objects < - cela pourrait remplacer les services.

PG.CustomerCare.Services < - Services d'abstraire la logique métier, cela aura une référence à la DAL

PG.CustomerCare.Client.Web < - interagit avec la couche de service

PG.CustomerCare.Client.Winforms < - Même ici, interagit uniquement avec la couche de service.

1

Quand il s'agit de la structure et de la conception du projet à ce niveau (programmation dans le grand), il n'y a pas beaucoup de différences entre .NET et Java. Lors de la création de mon DAO, j'ai tendance à les garder dans leur propre espace de noms/assembly/projet en tant qu'entités. C'est particulièrement le cas si elles sont simplement DTO s qui n'ont aucune logique en eux.

+0

Je vais implémenter le DAO et utiliser les DTO entre les objets métier et le DAO. Je ne suis pas sûr de l'espace de noms dans lequel DAO, DTO et les interfaces devraient vivre. – uriDium

+0

J'utiliserais un espace de noms 'Entities' de DTOs et' DAL' pour le DAO. – Oded

1

Je pense que cela dépend de l'échelle de votre conception. Si j'ai une approche de conception modulaire, j'ai tendance à mettre DAO dans le même assemblage que la logique métier correspondante. Par exemple, si j'ai une lettre DAO qui gère la persistance des lettres, alors j'ai tendance à mettre cela dans le même assemblage que la lettre business logique et les entités lettre sous un espace de noms tel que [compagnie]. [Projet] .Lettres . Alors que toute la fonctionnalité lettre est en un seul endroit et je peux le configurer ou le remplacer plus facilement.

Si j'ai un applicationDAO alors son même, mais sous [société]. [Projet] .Applications etc.

Questions connexes