¿A qué se llama un objeto de nivel equivalente de Mixin/Rasgos del sistema, existe un Patrón de nombre para él?

StackOverflow https://stackoverflow.com/questions/355786

Pregunta

Previamente me preguntó acerca de lo que los Mixins fueron, y han comenzado a obtener la esencia de lo que el patrón de medios.Pero me pregunto si existe un patrón común nombre para hacer algo como Mixins en un nivel de Objeto como opuesto al nivel de la Clase.

Pseudo-código (en algunos inexistentes idioma):

  Class MyClass
  {
     function foo()
     {
        print("foo")
     }
  }

  function bar()
  {
     print("bar")
  }

  object = MyClass.new()
  object.xxxx(bar)

  object.bar() #output: bar

Sé que este tipo de cosas se puede hacer en varios idiomas, de una manera o de otra, pero me pregunto ¿cuál sería el "estándar" nombre para la funcionalidad de xxxx representa, y ¿cuál es el nombre de este patrón, si es que hay uno.

Gracias!

Editar:La expansión en finnsson la respuesta supongo que algo como esto podría ser otro caso de esto sería:

 object.xxxx(OtherClass)
 object.otherfoo()

Podría concatenar ser apropiado?

Cita:"Concatenación:En virtud de la pura creación de prototipos, que también se conoce como la concatenación de prototipos..." -wikipedia

¿Fue útil?

Solución

Esto es común en prototipo basado en lenguajes de programación.Creo que se llama "importar" en ruby, pero algún tiempo desde la última vez programado en ruby así que no estoy seguro.

En js/ruby habría que escribir

object.bar = bar;
object.bar() // output: bar

y que no es verdadero modelo, ya que es sólo una asignación (o.bar = bar) haciendo perfecto sentido en un lenguaje basado en prototipos.Supongo xxxx en su ejemplo podría ser llamado prototipo o algo similar (ver http://en.wikipedia.org/wiki/Prototype-based_programming donde un lenguaje calles de esta proto).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top