A little subjective, there is no "final, correct" answer to this question.
Here, as I do, with the intention of assembling assemblies between projects.
I have a company name FooBar (+1 for originality, anyone? :)
All your builds begin with this root namespace. We have many general meetings.
Things like:
- HTML Helpers MVC (UI). They are included in one assembly.
- Shared repository. A repository template implemented using generics for reuse.
- LINQ Extension methods (paging, general syntactic sugar factory). Again, they go in one assembly.
So, our FooBar Namespace Universe might look like this:
FooBar
|
---- FooBar.Common.Mvc
|
---- FooBar.Common.DataAccess
|
---- FooBar.Common.Linq
|
---- FooBar.ProjectOne (ASP.NET MVC Web Application)
| |
| --- FooBar.ProjectOne.Repository (makes use of FooBar.Common.DataAccess)
| |
| --- FooBar.ProjectOne.WebMvc (makes use of FooBar.Common.Mvc)
|
---- FooBar.ProjectTwo (WPF Application)
|
--- FooBar.ProjectTwo.Repository (makes use of FooBar.Common.DataAccess)
|
--- FooBar.ProjectTwo.BindingServices (makes use of FooBar.Common.Linq)
Do you know what I mean?
, " ", .
, .
"- " ( ).