Introducing some creational, structural and behavioral patterns.
Ref: https://refactoring.guru/design-patterns