Most programmers I've talked to does not understand the positive effects a multi-project architecture can provide, I do not intend to get too much into details here, but lets just name some in short:
- Eliminates dumb uses of Dual-Coupling.
- Forces development in layers, thus enabling easy cross projects refactoring.
- Forces modular coding.
- Following the above, with proper syntax rules, redundant's bugs, spaghetti code, language abuse, code duplications, and more!
So here is an abstract view of my entire projects hierarchy layers, I would not get into details, as there are nearly 200 projects involved, and it goes cross platforms, Android, J2ME, J2EE,J2SE...
You like this, +1 it!.