Interfaces con muchas funciones generan código repetitivo en cada implementación
trending_down Impacto negativo: Duplicación, errores, difícil mantenimiento
interface HerramientaDibujo {
val color: String
fun dibujarLinea()
fun dibujarRectangulo()
fun dibujarCirculo()
fun seleccionar()
}
class SesionCanvas(val herramienta: HerramientaDibujo) : HerramientaDibujo {
override val color = "Azul" // Solo cambio esto
// Debo reimplementar todas las funciones
override fun dibujarLinea() { herramienta.dibujarLinea() }
override fun dibujarRectangulo() { herramienta.dibujarRectangulo() }
override fun dibujarCirculo() { herramienta.dibujarCirculo() }
override fun seleccionar() { herramienta.seleccionar() }
}