There is a debate going on at my company. Some are advocating moving business, data and business entities in one assembly for
- Discoverability purposes. make it easy to find what you're looking for.
- Reduce the number of dll's we need to add to a project for development
Others citing the application architecture guide want each layer and business entities in a separate assembly.
Please note that
- Our business and data layers both consist of com + components.
- Our current hardware architecture has web, business, and data on the same box.
- SQL on a different box.
- We aren't currently using dll versioning because it's mostly useless with com+ anyways.
Some of use have a gut feeling that we should split our biz, data and entities but are short on reasons.
- Potentially reduce memory consumption
- Encourage proper architecture by only having business layer assemblies added to web projects. If the data services are also available then it makes it easy to do things the wrong way
- When we split our web server from the business and data layers we won't have to install crap we don't need from a god assembly.
Right now we have about 600 dll's in our system. So we are at one extreme where everything is split up. There is some definitely consolidation that can happen, but what is being proposed is taking us to a complete other extreme where every application is in one dll.
Could I get some outside perspective on this common issue?
Thanks!