Implementation of design patterns to understand them. Resources were used: Head First Design Patterns, tasks from online courses, wikibooks - CS Design Patterns https://en.wikibooks.org/wiki/Computer_Science_Design_Patterns, refactoring guru website https://refactoring.guru/ru