В общем, попытка снизить зависимость - это больше не нужно менять тонну кода при изменении одного класса.
Простое включение большого количества файлов - это не обязательно плохо - все, что нужно сделать, это увеличить время компиляции, но это увеличение не будет заметно, пока вы не получите сотни файлов (если это так).
Что еще нужно помнить, это то, что есть разница между заголовком и файлом класса. Если вы включаете определение класса из заголовка, который, в свою очередь, включает заголовок, в котором вы находитесь, у вас есть циклическая ссылка, и вам придется объявить одну из ссылок на класс как перенаправленный класс с помощью директивы @class. Фактически стандартом является теоретическое использование «@class» в заголовочном файле и «@import» в реализации, но обычно вы не сталкиваетесь с классами, имеющими ссылки друг на друга, поэтому #import в заголовке работает так же хорошо, и немного меньше печатать.