Напомню, что в ближайших публикациях я буду рассказывать про паттерны проектирования. Но здесь кроется одна проблема. Они все неразрывно связаны с объектно-ориентированным программированием. Я подозреваю, что тебе на курсах про это уже рассказывали, но я повторю для тех, кто еще не слышал. Итак, раньше у нас в программах были просто переменные, условно чтобы сложить переменную a и переменную b, нам не нужно было каких-то усложнений. Но со временем требования бизнеса становились хитрее, а программы - сложнее. А теперь представь себе каково поддерживать программу на 1 000 000 строк без какой-либо группировки. Это и привело к созданию объектно-ориентированного программирования. По сути идея состоит в объединении каких-то сущностей или бизнес-единиц. Такие объединения зовутся классами. Причем у таких классов есть иерархия. Возьмем самый академический пример - создание класса животных. Допустим, у нас есть класс Животное, для упрощения с двумя функциями: есть и спать. Теперь, мы хотим созда