Practice project based on the Gang of Four book "Design Patterns. Elements of Reusable Object-Oriented Software"