|
What you're doing is essentially making everything have a common base class. A side effect of that is that it is very easy to accidentally introduce coupling you don't want between your classes. The more serious one is that it introduces a phenomenon known as the fragile base class which is a maintenance nightmare in large programs: among other things, it eliminates any potential for separate compilation as (if one thing changes) it is almost certainly necessary to rebuild everything.
Do it with a moderate size project (eg a few hundred or a few thousand classes) and you will find you have build times, even when you make minor changes to a line or two, that are quite long. You will also find that is is more difficult to understand how your program works, which makes it difficult to work out where to introduce a new function if you need to.
|