Explore the use of different patterns to produce clean code