Как принцип Inversion of Control помогает улучшить архитектуру приложения, его поддерживаемость и тестируемость? — ДейлиПреп