Implementation of design patterns from the book "Design Patterns: Elements of Reusable Object-Oriented Software" :fire: