Refactoring door Martin Fowler, Jay Fields & Shane Harvie