I've been struggling with a legacy application for a while now. It has all this bloated and non-OO-minded code in it, that I wonder: "What was this architect thinking?" In order to get some "guru insight" in the problem, I bought "Core J2EE Patterns" (Deepak Alur, et al., Prentice Hall, 0-13-064884-1). I was hoping to get a solution to the problems at hand. I was just browsing it, when it hit me: the legacy app we're dealing with, is following exactly the methods described in this book. It is great if you have a can of non-thinking Java-typers, to whom you can say "type me 500 lines of code by tomorrow, and if I want to refactor something, you'll be present again". But it doesn't work if you have a small team of (more or less) intelligent people, who want to get something done, instead of mindless typing.

On second thought, the problem most likely is the underlying J2EE (and, more specifically, all that EJB stuff) architecture that's causing trouble. You can't build a good house if your fundamentals are weak.

Just for fun, another unedited draft, from March 14, 2003. I still didn't quite finish that book.

Leave a Reply