Я читал, что создание зависимостей с использованием статических классов/синглетонов в коде, является плохой формой и создает проблемы, т. Е. жесткой связи и модульного тестирования.Полезные классы .. Хорошо или плохо?
У меня возникла ситуация, когда у меня есть группа методов разбора URL-адресов, которые не имеют состояния, связанные с ними, и выполняют операции, используя только входные аргументы метода. Я уверен, что вы знакомы с таким методом.
В прошлом я бы приступил к созданию класса и добавлению этих методов и вызову их непосредственно из моего кода, например.
UrlParser.ParseUrl(url);
Но подождите минуту, представляя зависимость от другого класса. Я не уверен, являются ли эти классы «полезности» плохими, поскольку они без гражданства, и это сводит к минимуму некоторые проблемы с указанными статическими классами и синглонами. Может ли кто-нибудь прояснить это?
Должен ли я перемещать методы в вызывающий класс, то есть если только метод вызова будет использовать метод. Это может нарушить «Единый принцип ответственности».
«У меня есть ситуация, когда у меня есть группа методов разбора URL-адресов, которые не имеют состояния, связанные с ними, и выполняют операции, используя только входные аргументы метода. Я уверен, что вы знакомы с таким методом». такие методы будут называться чистыми функциями – morphles
, чтобы проверить это сообщение в блоге (в основном речь идет о Java, но по-прежнему актуальна здесь): http://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes. html – yegor256