Search code examples
.netdaoproject-structure

Where should the DAOs go in a project structure?


I am working on a project in VB.Net and need to implement the DAL. I am not quite sure where in my project is the best place to stick the DAOs. Should I stick the DAO in the same namespace as the business objects that are going to use them. Or should I lump all the DAOs together.

I have a Java background which might taint my understanding of your .Netish answer. :)


Solution

  • I always try to keep things nice and tidy. You should try and maintain some kind of modular design even if it's a small project. I've burnt my fingers way too often.

    Example: PG.CustomerCare.DAL <-- Data Access Layer

    PG.CustomerCare.BO <-- Business Objects <-- this might replace the Services.

    PG.CustomerCare.Services <-- Services to abstract the business logic, this will have a reference to the DAL

    PG.CustomerCare.Client.Web <-- Only interacts with the service layer

    PG.CustomerCare.Client.Winforms <-- Same here, only interacts with the service layer.