This chapter looks at what a pattern is; what it means to be patterns happy; the importance of understanding that patterns can be implemented in many ways; considerations for refactoring to, towards, or away from patterns; whether or not patterns make code more complex; what it means to have "pattern knowledge"; and when it may make sense to do up-front design with patterns.