Ejercicio 6: Delegación

Otros dos patrones orientados a objetos que muchas veces nos llevan a repetir lógica son el decorator y el adapter.

Cuando programamos estos patrones, es común que lleguemos a escribir clases que delegan varios mensajes en sus atributos:

class X
  # la clase X declara los metodos `y` y `z`, pero estos lo unico que hacen es delegar en `@c`:  
  def y
    @c.y
  end

  def z
    @c.z
  end

  #..etc..
end

Esto es bastante engorroso :pensive:, así que queremos poder reescribirlo de la siguiente forma:

 class X < Forwarder
   # con esto estamos diciendo que todo mensaje que sea recibido por X y no sea entendido, 
   # sera delegado a @c 
   def forward_to
     @c
   end
 end

Codificá la clase Forwader

Tenés que iniciar sesión antes de empezar a enviar tus soluciones