Programación a una interfaz. ¿Cómo decidir dónde se necesita?

Entiendo que la programación a interfaces ayuda con el acoplamiento flojo. Sin embargo, ¿hay alguna directriz que explique cuándo es más efectivo?

Por ejemplo, tengo una aplicación web simple que recopila datos sobre los empleados, sus planes de capacitación, gastos y calcula sus gastos para el año, etc. Esta es una aplicación bastante simple y, por supuesto, puedo usar una interfaz, pero me pregunto si habría alguna utilizar. Lo usaré por el bien de usarlo.

Siempre se puede argumentar que a medida que la aplicación crece en complejidad y paso objetos, tendría más sentido pasar el tipo (interfaz) que una implementación. Entonces, ¿debo esperar a que la aplicación se vuelva compleja o usarla de inmediato? Me pregunto si la mejor práctica podría ser "este tipo ha terminado de hacer las cosas".

Respuestas a la pregunta(10)

Su respuesta a la pregunta