Diseño de aplicaciones orientadas a objetos
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
1.1 KiB

package patronDecorator;
public class Main {
public static void main(String[] args) {
//Creo un componente
ComponenteConcreto c = new ComponenteConcreto();
//decoradorConcretoA es un nuevo estado que vamos a añadir al componente c.
DecoradorConcretoA d1 = new DecoradorConcretoA(c);
//decoradorConcretoA es un nuevo comportamiento que vamos a añadir al estado d1.
DecoradorConcretoB d2 = new DecoradorConcretoB(d1);
/* Empieza en operacion() de DecoradorConcretoB ->
* llama a super.operacion() que es Decorador ->
* este a su vez llama al componente.operacion()
* desde donde empieza la siguiente secuencia:
* 1. Al llamar a operacion() de componente muestra mensaje de ComponenteConcreto.operacion().
* 2. Al llamar a operacion() de DecoradorConcretoA y le añade el nuevo estado y muestra mensaje.
* 3. Al llamar a operacion() de DecoradorConcretoB y muestra el mensaje de comportamiento B añadido
* 4. continuando en operacion() de DecoradorConcretoB muestra el mensaje DecoradorConcretoB.operacion() */
d2.operacion();
}
}