Extract ImplementerThe book has now been published and the content of this chapter has likely changed substanstially.
You want to separate the interface from the implementation but the existing implementation class is using the most appropriate name for the interface.
Turn the existing class into an interface by gutting it and putting the innards into a new implementation class.
Essentially Extract Interface[Fowler] refactoring turned inside out. Could also be viewed as a special case of Extract Class[Fowler] refactoring.
Further ReadingFrom [WEwLC]. "Working Effectively with Legacy Code" by Michael Feathers.
Copyright © 2003-2008 Gerard Meszaros all rights reserved