clean code design patterns

2 3 4 5 6