I use several folders (multi-level folders) in the solution and several times in projects.
I map solution folders to namespaces, sometimes providing projects with a sub-namespace.
Most of my projects have one namespace.
eg.
Company.Product.Initialization // (exe project) Company.Product.Data.Interfaces // interfaces (dll) Company.Product.Data.Collections // collections (dll) Company.Product.Data.Binding // binding logic (dll) Company.Product.Data.Binding.Tests // unit tests for above (dll) Company.Product.Data.Serialization Company.Product.Data.Serialization.Tests Company.Product.Model // (dlls) Company.Product.Gui.Controls // (dlls) Company.Product.Gui.Windows // (dlls) Company.Product.Gui.ModelView // (dlls) Company.Product.Gui.Logic // (dlls)
I agree with MusiGenesis on the importance of good names, and also suggest reading MS recommendations (preferably for C # 3.5 or 4.0).
source share