Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/02/2010, 12:04
Avatar de pablor21
pablor21
 
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Consulta: Composición y Delegación

Hola!
La respuesta es NO son lo mismo.
La Delegación es un patrón de diseño (Delegation) y da soporte a la Composición.
Digamos que la delegación es una abstracción que da soporte a la composición, es un patrón a través del cual una clase muestra un comportamiento pero delega la responsabilidad de implementar ese comportamiento a otra clase.

Por lo general se utilizan interfaces para realizar una delegación.

por ejemplo:

interface MyInterface{
public void myMetodo();
}

class A implements MyInterface{
public void myMetodo(){
//hacer algo
}
}

class B implements MyInterface {
private MyInterface delego = new A();

public void myMetodo(){
delego.myMetodo();
}

//otros métodos
}

como ves B expone un comportamiento (myMetodo) pero en realidad delega la responsabilidad sobre la clase A.
La utilización de las interfaces es para separar la definición de la implementación de manera que B podría delegar esa resposabilidad sobre cualquier otra clase que implemente MyInterface...

No sé si me explico...