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. :)
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.