Se le conoce tambien como Handle/body. Ahora veremos algunas caracteristicas de este patròn (intenciòn, su estructura mediante un diagrama de clases y algunas consecuencias).
Intenciòn
Desacoplar una abstracción de su implementación de manera que las dos puedan variar independientemente.
Estructura

- Abstracción: define una interface abstracta. Mantiene una referencia a un objeto de tipo Implementor.
- RefinedAbstraction: extiende la interface definida por Abstraction.
- Implementor: define la interface para la implementación de clases. Esta interface no se tiene que corresponder exactamente con la interface de Abstraction; de hecho, las dos interfaces pueden ser bastante diferente. Típicamente la interface Implementor provee sólo operaciones primitivas, y Abstraction define operaciones de alto nivel basadas en estas primitivas.
- ConcreteImplementor: implementa la interface de Implementor y define su implementación concreta.
La abstracción envía las solicitudes de los clientes a las implementaciones
Consecuencias
- Desacoplamiento entre interfaz e implementación.
- Más facilidad para extender el sistema.
- Esconde los detalles de la implementación.
No hay comentarios:
Publicar un comentario