Sunteți pe pagina 1din 7

El patrn de la fachada

Visin de conjunto
Inicio el estudio de los patrones de diseo con un patrn que es probable
que haya
implementado en el pasado, pero no puede haber tenido un nombre para: la
patrn de la fachada.
Este captulo
Explica lo que el patrn de la fachada y es donde se utiliza.
Presenta las caractersticas clave del modelo.
Presenta algunas variaciones en el patrn de la fachada.
Se relaciona con el patrn de la fachada al problema de CAD / CAM.
Al presentar el patrn de la fachada

De acuerdo con la Banda de los Cuatro, la intencin del patrn de la fachada


es de
Proporcionar una interfaz unificada a un conjunto de interfaces de un
subsistema.
Fachada define una interfaz de alto nivel que hace que el subsistema
ms fcil de uso.1
Bsicamente, se est diciendo que tenemos que interactuar con un sistema
que
es ms fcil que el mtodo actual, o tenemos que utilizar el sistema de
de una manera particular (como el uso de un programa de dibujo en 3D de
una forma 2D).
Podemos construir un mtodo de interaccin tal porque slo necesitamos
utilizar un subconjunto del sistema en cuestin.

El aprendizaje del patrn de la fachada


Una vez, yo trabajaba como contratista para una gran ingeniera y
fabricacin
empresa. Mi primer da en el trabajo, la direccin tcnica de la
proyecto no estaba en. Ahora, este cliente no quera pagarme por el
hora y no tienen nada para m hacerlo. Ellos me queran estar

hacer algo, incluso si no era til! No has tenido das


Como Este?
Por lo tanto, uno de los miembros del proyecto encontr algo para que lo
haga. Ella dijo,
"Usted va a tener que aprender el sistema CAD / CAM utilizamos algunos
tiempo, por lo que tambin podra empezar ahora. Comience con estos
manuales ms
aqu. "Entonces ella me llev al conjunto de documentacin. No estoy
haciendo
esto: Haba 8 pies de manuales para m leer cada pgina-8.5
11 pulgadas y en letra pequea! Esto era un sistema complejo!

Ahora, si usted y yo y decir cuatro o cinco personas estaban en un proyecto


que se necesita para utilizar este sistema, qu enfoque sera tomar?
Estaramos todos aprender el sistema? O delimitaramos pajas y el
perdedor tendra que escribir rutinas que el resto de nosotros podra utilizar
para interconectar
con el sistema?
Esta persona sera determinar cmo yo y otros en nuestro equipo fuera
va a utilizar el sistema y qu interfaz de programacin de aplicaciones (API)
sera el mejor para sus necesidades particulares. Ella entonces crear un
nuevo
clase o clases que tenan la interfaz que se requiere. Entonces yo y el resto
de la comunidad de programacin podra utilizar esta nueva interfaz sin
tener que aprender todo el complicado sistema (ver Figura 6-2).

Este enfoque funciona slo cuando se utiliza un subconjunto de las


capacidades del sistema
o al interactuar con l de una manera particular. Si todo
en el sistema tiene que ser utilizado, la nica manera de mejorar el diseo
sera si eran pobres en el primer lugar.
Este es el patrn de la fachada. Nos permite utilizar un sistema complejo
ms
fcilmente, ya sea para utilizar slo un subconjunto del sistema o utilizar el
sistema en una

manera particular. Tenemos un sistema complicado de lo que necesitamos


utilizar slo una parte. Terminamos con un sistema ms sencillo fcil de usar
o uno
que se adapte a nuestras necesidades.

La mayor parte de la labor que todava queda por hacer por el sistema
subyacente.
La fachada ofrece una coleccin de mtodos ms fciles de entender.
Estos mtodos utilizan el sistema subyacente para implementar el recin
funciones definidas.

El patrn de la fachada: Caractersticas principales


Intencin desea simplificar cmo utilizar un sistema existente. Es necesario
definir
su propia interfaz.
Problema es necesario utilizar slo un subconjunto de un sistema complejo.
O lo que necesita para interactuar
con el sistema de una manera particular.
La solucin de la fachada presenta una nueva interfaz para el cliente del
sistema existente
usar.
Los participantes y presenta una interfaz simplificada al cliente que hace
que sea ms fcil de
colaboradores utilizan.
Consecuencias La Fachada simplifica el uso del subsistema requerida. Sin
embargo, debido
la fachada no es completa, cierta funcionalidad puede no estar disponible
al cliente.
Implementacin definir una nueva clase (o clases) que tiene la interfaz
requerida.
Haga que esta nueva clase de uso del sistema existente.

Notas de campo: El patrn de la fachada


c Por ejemplo, supongamos que tengo un objeto de cliente

que deben hacer frente a las bases de datos, modelos y elementos. El


cliente
primero debe abrir la base de datos y obtener un modelo. Entonces se
consulta el
Modelo de recuperar un elemento. Por ltimo, solicita al elemento de
informacin.
Puede ser que sea mucho ms fcil para crear una base de datos que
Fachada
podran ser consultado por el cliente (ver Figura 6-4).

Si una fachada puede ser hecho para ser sin estado (es decir, ningn estado
se almacena en
IT), un objeto de la fachada puede ser utilizado por varios otros objetos. Ms
tarde
Captulo 21, que muestran cmo hacer esto, usando el patrn Singleton
y el patrn de una doble comprobacin de bloqueo.
Supongamos que, adems de utilizar las funciones que se encuentran en el
sistema, lo
Tambin es necesario proporcionar alguna funcionalidad nueva, digamos,
ficha todas las llamadas a
rutinas especficas. En este caso, voy ms all de un simple subconjunto de
el sistema.

En este caso, los mtodos que escribo para la clase de la fachada se pueden
suplementar
por las nuevas rutinas para la nueva funcionalidad. Este sigue siendo el
patrn de la fachada, pero ampliado con nuevas funcionalidades. Considero
que la
objetivo principal una de simplificacin, ya que no quiere tener que
forzar la rutina de cliente para saber que tiene que llamar a la routinesadicional
la fachada hace eso.
El patrn de la fachada establece el enfoque general; me empez. los
parte de la fachada de la pauta es el hecho de que estoy creando una nueva
interfaz

para que el cliente utilice en lugar de la interfaz de los sistemas existentes.


yo
Puede hacer esto porque el objeto de cliente no tiene que usar toda la
funciona en mi sistema original.

Establecer patrones de un enfoque general


Un patrn simplemente establece el enfoque general. Sea o no para
agregar
nueva funcionalidad depende de la situacin en cuestin. patrones
son los planos para empezar; ellos no estn talladas en piedra.

La fachada tambin se puede utilizar para ocultar, o encapsular, el sistema.


los
Fachada podra contener el sistema como miembros privados de la fachada
clase. En este caso, el sistema original estara vinculada con la
Fachada de clase, pero no presenta a los usuarios de la clase de fachada.
Hay un nmero de razones para encapsular el sistema, incluyendo
el seguimiento:
El uso de sistema By-pista obligando a todos los accesos al sistema para ir
a travs de la fachada, puedo controlar fcilmente el uso del sistema.
Intercambiar sistemas que posiblemente tenga que cambiar de sistema en
el futuro.
Al hacer que el sistema original de un miembro privado de la
Fachada de clase, puedo intercambiar el sistema para una nueva con un
mnimo
esfuerzo. Todava puede haber una cantidad significativa de esfuerzo
requerido,
pero por lo menos slo voy a tener que cambiar el cdigo en una
lugar (la clase de la fachada).

Relacionando el patrn Fachada


al CAD / CAM Problema
Piense en el ejemplo anterior. El patrn de la fachada puede ser til para
ayudar

V1 V1 ranura, agujero, y as sucesivamente Sistema uso V1. Voy a hacer


precisamente eso en el
solucin en el Captulo 13, "Cmo solucionar el problema de CAD / CAM con
los patrones."

Resumen
El patrn de la fachada se llama as porque se pone una nueva interfaz
(Una fachada) delante del sistema original.
El patrn de la fachada se aplica cuando
No es necesario utilizar toda la funcionalidad de un sistema complejo
y puede crear una nueva clase que contiene todas las reglas para acceder
dicho sistema. Si este es un subconjunto del sistema original, ya que
por lo general, es decir, la API que se crea para la nueva clase debe ser
mucho ms simple que la API del sistema original.
Cuando se desea encapsular u ocultar el sistema original.
Cuando se desea utilizar la funcionalidad del sistema original y
desee aadir algunas nuevas funcionalidades tambin.
El costo de escribir esta nueva clase es menor que el costo de todo el
mundo
aprender a utilizar el sistema original o es menos de lo que
sera gastar en el mantenimiento en el futuro.

Preguntas de repaso
observaciones
1. Definir la fachada.
2. Cul es la intencin del patrn de la fachada?
3. Cules son las consecuencias del patrn de la fachada? dar una
ejemplo.
Captulo 6 El patrn de la fachada 99
Encapsular el V1
sistema
En este captulo
4. En el patrn de la fachada, cmo trabajan con los clientes subsistemas?

5. El patrn de la fachada por lo general le dan acceso a la totalidad


sistema?

interpretaciones
1. La banda de los cuatro dice que la intencin del patrn de la fachada es
"proporcionar una interfaz unificada a un conjunto de interfaces en un
subsistema.
Fachada define una interfaz de alto nivel que hace
el subsistema ms fcil de usar ".
Qu significa esto?
Dar un ejemplo.
2. A continuacin se muestra un ejemplo de una fachada que viene de fuera
de
Software: Bombas de gasolina en las estaciones en los Estados Unidos
puede
ser muy compleja. Hay muchas opciones en ellos: cmo
pagar, el tipo de gas a utilizar, ver un anuncio. De una sola mano
para obtener una interfaz unificada a la bomba de gas es utilizar un humano
despachadores de gasolina. Algunos estados requieren esto.
Cul es otro ejemplo de la vida real que ilustra una
Fachada?
Las opiniones y Aplicaciones
1. Si es necesario agregar funcionalidad ms all de lo que el sistema de
ofrece, se puede seguir utilizando el patrn de la fachada?
2. Qu es una razn para encapsular todo un sistema mediante el
patrn de la fachada?
3. Hay un caso para la escritura de un nuevo sistema en lugar de
encapsular
el viejo sistema con la fachada? Qu es?
4. Por qu cree la llamada Banda de los Cuatro Fachada este patrn? Es
es un nombre apropiado para lo que est haciendo? Por qu o por qu no?

S-ar putea să vă placă și