Repaso
English

Una interface Worker tiene work(), eat() y sleep(). Un Robot debe implementar eat() con raise NotImplementedError. ¿Qué principio sugiere una solución?

Opciones

  1. Interface Segregation (Opción correcta)
  2. Open/Closed
  3. DRY
  4. Law of Demeter

Respuesta

Interface Segregation

Por qué

Interface Segregation dice: no obligues a una clase a depender de métodos que no usa.

Una interface grande obliga a Robot a fingir un método eat(). Divídela en interfaces pequeñas (Workable, Eatable) y deja que cada clase implemente solo lo que le aplica.

Recuerda

Muchas interfaces pequeñas son mejores que una grande.

Términos clave

Practica esta pregunta en Repaso