Alright, this has been on my mind for a while now. I'm in the process of creating a reusable corporate namespace(class library) for all common middle-tier objects. This assembly can then be referenced by any of our developers during the development phase of their project. Here's my question. Is it more acceptable to create a single assembly which consists of all our middle-tier logic or to break this functionality up into smaller assemblies?
Example: Single Assembly(namespace examples)
System
System.IO
System.IO.RegEx
System.Net
System.Net.Mail
System.Security
System.Web - AssemblyFull.dll
Example: Multiple Assemblies
System.IO
System.IO.Reg - Compiles to AssemblyIO.dll
System.Net
System.Net - Compiles to AssemblyNet.dll
In the past I've done this using both methods but I'm wondering what everyone else does and why? I'm not looking for any code examples, I just want to know what other developers have doing?
Thanks in advance.