3 основных элемента объектно-ориентированного программирования (ООП) и практика принципов SOLID: от истории до продвинутых методов проектирования