Estoy refactorizando una clase y agregando una nueva dependencia. La clase actualmente está tomando sus dependencias existentes en el constructor. Entonces, por coherencia, agrego el parámetro al constructor.
Por supuesto, hay algunas subclases y aún más para las pruebas unitarias, así que ahora estoy jugando el juego de alterar a todos los constructores para que coincidan, y está tomando años.
Me hace pensar que usar propiedades con setters es una mejor manera de obtener dependencias. No creo que las dependencias inyectadas sean parte de la interfaz para construir una instancia de una clase. Agrega una dependencia y ahora todos sus usuarios (subclases y cualquiera que lo instale directamente) de repente lo sepan. Eso se siente como un descanso de encapsulación.
Este no parece ser el patrón con el código existente aquí, así que estoy buscando averiguar cuál es el consenso general, los pros y los contras de los constructores versus las propiedades. ¿Es mejor usar establecedores de propiedades?