Tengo una clase (llamémoslo MyService
) que acepta dos dependencias en su constructor. El primero no es tan relevante para la pregunta. El segundo es PaymentDetails
. PaymentDetails vive por más tiempo que MyService, que es creado por una fábrica para procesar esta solicitud en particular.Cómo reducir el acoplamiento cuando una clase llama solo a un método en otra clase que tiene muchos métodos?
En MyService.process()
, que:
- hace algunas cosas con la primera dependencia,
- construye un objeto
new TransactionDetails()
y establece varias cosas en él, - llamadas
myPaymentDetails.setTransactionDetails(td);
- vuelve algo que decir, que la página en el asistente sigue a continuación
PaymentDetails
tiene por necesidad muchos métodos en él. Es un objeto de estilo Entity en el que se genera información a medida que el usuario avanza por una serie de aproximadamente 5 páginas.
Lo que me molesta es que, como está escrito, mi clase de servicio depende de la totalidad de PaymentDetails
, pero solo llama a un único método.
Esto me molesta porque:
- que limitará la capacidad de volver a utilizar la clase de servicio
- no es posible comprender lo que las dependencias reales están leyendo las firmas de los métodos
Mi pregunta es:
¿Cuál es la mejor manera de solucionar esto para que mi clase de servicio tenga dependencias mínimas?