Estamos tratando de hacer las cosas de la manera más clara y limpia posible en una arquitectura de 3 niveles.Arquitectura, muchos métodos y largas listas de parámetros
Pero la complejidad de nuestro sistema nos deja confundidos sobre la mejor manera de proceder.
Si utilizamos muchas cadenas de funciones que pasan por la capa de servicio, con listas de parámetros más pequeñas, esto parece claro en términos de lo que se está haciendo, pero parece que se repite una gran cantidad de funcionalidades a través de estos métodos.
Sin embargo, si utilizamos menos métodos y tenemos una gran lista de parámetros para cambiar la funcionalidad dentro de los métodos, esto parece salirse de control.
Nuestra elección por el momento es tener más funciones ya que esto se siente más fácil de manejar que las funciones monolíticas con muchos flujos lógicos dentro de ellas. Esto obviamente significa trozos más pequeños de código más manejable.
Es solo que escuchamos sobre DRY mucho, así que esto parece que hay alguna repetición dentro de los métodos. Pero parece más flexible.
Es difícil responder a esta pregunta sin un ejemplo más concreto de lo que quiere decir. – Paddy
extraer la repetición en un método separado? – auser
Significa que tenemos el nivel web, el nivel de dominio y el nivel de db. Y DI está siendo usado. Así que es una buena práctica técnica, pero tiene una carga general en términos de implementación. Siento que es relevante porque los gastos generales significan que tenemos que escribir más código para navegar a través de cada uno de los niveles, lo que significa que la sobrecarga entre muchas funciones o muchos parámetros se siente con más fuerza. –