Статические методы без сохранения состояния против функций C в Objective-C

С точки зрения хорошей практики кодирования Objective-C, если я создаю функцию, не имеющую состояния, лучше ли написать ее как статический метод какого-то класса или как C function?

Например, у меня есть специальный метод получения пути к файлу, который проверяет каталог Caches перед переходом к основному NSBundle. В настоящее время я использую его как статический метод в пустом классе Utils. Должна ли это быть функция C?

Причина, по которой я решил использовать статический метод (на данный момент), заключается в том, что а) он соответствует синтаксису Objective-C и б) класс помогает классифицировать метод. Однако мне кажется, что я немного обманываю, поскольку я мог бы легко заполнить свой класс Util этими статическими методами без сохранения состояния и в итоге получить уродливый «класс оболочки», единственной целью которого было бы их удерживать.

Какое соглашение вы используете? Один "лучше" другого по какой-то объективной метрике? Спасибо!

5
задан Archagon 21 November 2011 в 18:37
поделиться