In the near feature we will start the next phase of the migration of our old system to dotNet. We already ported a lot of the functionality, but the next phase will at least triple the size of the .NET codebase.
We already refeactored the system into 5 separate solutions:
1. The LLBLGen generated code (about 240 entities)
2. A application framework containing common functionality
3. The business functionality (about 90 manager objects and 200 "Workflows")
4. A webapplication (250 webfoms, and some service objects to collect the data from the DAL).
5. A windows service for scheduling background processes
The partioning is such that in most cases only a single solution has to be modified. A developer thus can get the latest version from sourcesafe, make his modifications and check in again.
I expect that in the near feature:
- amount of entities will grow to about 400
- webapplication: some 800 webforms will be added
- at least 20 webwervice-methods need to be added
- about 300 manager classes are neccessary
That was a long intro, now the questions:
-
What do you think the maximum amount of classes is that you can keep manageable in a single project/solution?
-
Is there a way to refactor this into smaller solutions without losing the ability to work in a single solution most of the time?