clean code design patterns

1 2 3