Прежде всего, какова ваша цель внедрить экземпляр этого служебного класса, а не продолжать использовать статический метод, который у вас есть? Функции со входом и выходом и без побочных эффектов часто лучше, чем статические методы. Тем не менее, может быть, вы хотите иметь возможность изменить то, что этот метод делает для тестирования или что-то подобное. В этом случае вы обычно хотите, чтобы класс реализовывал некоторый интерфейс, который вы используете в клиентских классах.
Во всяком случае, если UtilClass
не имеет состояния, я просто ввожу его , а не как одиночный. Инъекция не-синглтона происходит быстрее, чем инъекция синглтона. Может быть, если вы собираетесь хранить внедренный экземпляр во многих других классах, единственное значение может иметь смысл для экономии места.