He estado leyendo que la creación de dependencias mediante el uso de clases estáticas/singletons en el código, es mala forma y crea problemas, es decir. acoplamiento hermético y pruebas unitarias.Clases de utilidades .. ¿Bueno o malo?
Tengo una situación en la que tengo un grupo de métodos de análisis de URL que no tienen ningún estado asociado a ellos, y realizo operaciones usando solo los argumentos de entrada del método. Estoy seguro de que estás familiarizado con este tipo de método.
En el pasado habría procedido a crear una clase y agregar estos métodos y llamarlos directamente desde mi código, por ejemplo.
UrlParser.ParseUrl(url);
Pero espere un minuto, que es la introducción de una dependencia a otra clase. No estoy seguro de si estas clases de "utilidad" son malas, ya que son apátridas y esto minimiza algunos de los problemas con dichas clases estáticas y singletons. ¿Alguien podría aclarar esto?
Debo mover los métodos a la clase de llamada, es decir, si solo la clase de llamada utilizará el método. Esto puede violar el 'Principio de Responsabilidad Individual'.
"Tengo una situación en la que tengo un grupo de métodos de análisis de la URL que no tienen un estado asociado con ellos, y realizan operaciones utilizando sólo los argumentos de entrada del método. Estoy seguro de que está familiarizado con este tipo de método". tales métodos se denominan funciones puras – morphles
comprobar esta entrada del blog (hablando principalmente acerca de Java, pero sigue siendo relevante aquí): http://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes. html – yegor256