Java Refactoring FAQ: Can you provide an example of the Extract Interface refactoring process?
While working on a Java Swing development project recently, I had written a couple of controllers (as in controllers from the Model/View/Controller pattern), and I was about to write some more, when I realized that if I refactored my Java source code I would have a much better design -- source code I code more easily maintain.
The pattern I saw repeated in my Java controller classes was that they all had similar method names, something like this: