Jon Tirsen has ranted on How to build maintainable systems: Simple design.
I have a funny suspicion that the reason that he blogged this was:
I have been to places that had frameworks of hundreds and hundreds of classes that when it came down to it did the equivalent functionality of about two mid-sized classes work. I kid you not.
My guess is he came back from one of these “places” and had to blog again.
Finding a simple design is always a tough thing to do. We always want to make the system as simple as possible, but not more so.
I have run into the issues that Jon spells out, and also the opposite.
I was at one client where the ENTIRE application was one mega-Servlet. Thousands of lines of code. One Servlet. Yup. One.
You could argue that the “design” was simple ;)