In this chapter, we will cover the following recipes:
Removing the problems with instance creation
Refactoring the classes that do too much
Refactoring the classes that use the class casts
Refactoring the classes that use static methods
Refactoring the tests that use too many mocks