SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
PATRÓN FAÇADE 
AUTENTIA.COM 
Francisco J Arroyo Castro 
https://plus.google.com/+FranciscoArroyo 
@farroyocastro 
Madrid, 06 de Agosto de 2014
Descripción 
● GoF - Patrón estructural. 
● Busca conseguir facilidad de uso y/o legibilidad. 
● No añade funcionalidad. 
● Conoce los subsistemas pero los subsistemas no lo conocen a él. 
● Reducir acoplamiento
Ejemplo - UML 
http://it.wikipedia.org/wiki/File:Esempio_Pattern_Facade_01.jpg
Ejemplo - UML 
http://it.wikipedia.org/wiki/File:Esempio_Pattern_Facade_02_1.jpg
Ejemplo - Código - Subsistemas 
class CPU { 
public void freeze() { ... } 
public void jump(long position) { ... } 
public void execute() { ... } 
} 
class Memory { 
public void load(long position, byte[] data) { 
... } 
} 
class HardDrive { 
public byte[] read(long lba, int size) { ... } 
}
Ejemplo - Código - Cliente sin Façade 
class Cliente { 
public static void main(String[] args) { 
CPU processor = new CPU(); 
Memory ram = new Memory(); 
HardDrive hd = new HardDrive(); 
start(processor, ram, hd); 
} 
public void start(processor, ram, hd) { 
processor.freeze(); 
ram.load(BOOT_ADDRESS 
, hd.read(BOOT_SECTOR, SECTOR_SIZE));processor. 
jump(BOOT_ADDRESS); 
processor.execute() 
} 
}
Ejemplo - Código - Cliente con Façade 
class ComputerFacade { 
private CPU processor; 
private Memory ram; 
private HardDrive hd; 
public ComputerFacade() { 
this.processor = new CPU(); 
this.ram = new Memory(); 
this.hd = new HardDrive(); 
} 
public void start() { 
processor.freeze(); 
ram.load(BOOT_ADDRESS 
, hd.read(BOOT_SECTOR, 
SECTOR_SIZE)); 
processor.jump 
(BOOT_ADDRESS); 
processor.execute(); 
} 
} 
class Cliente { 
public static void main(String[] args) 
{ 
ComputerFacade computer = 
new ComputerFacade(); 
computer.start(); 
} 
}
Ventajas 
● Abstrae uso de los sistemas internos 
● Permite limitar la exposición de los métodos de una clase 
● Añade legibilidad 
● Permite modificar el sistema sin modificar los clientes
Precauciones 
● Podemos enmascarar antipatrón The God. 
● No tiene porqué haber una única fachada
¿Preguntas? 
Preguntas
Gracias!

Más contenido relacionado

Similar a Patrón Façade

Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2Mario IC
 
Anatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodleAnatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodleJosé Luis Granda
 
Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0Marcos Ortiz Valmaseda
 
Apache ha muerto, Viva Lighttpd
Apache ha muerto, Viva LighttpdApache ha muerto, Viva Lighttpd
Apache ha muerto, Viva Lighttpdruna
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupalcamposer
 
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones webGroovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones webParadigma Digital
 
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsCambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsFátima Casaú Pérez
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephpbetabeers
 
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNADArquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNADAlex Gomez
 
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNADArquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNADAlex Gomez
 
Masterclass ADWE Madrid
Masterclass ADWE MadridMasterclass ADWE Madrid
Masterclass ADWE MadridKubide
 

Similar a Patrón Façade (20)

Logstash filebeat webinar
Logstash filebeat webinar  Logstash filebeat webinar
Logstash filebeat webinar
 
postgres
postgrespostgres
postgres
 
Taller introduccion symfony2
Taller introduccion symfony2Taller introduccion symfony2
Taller introduccion symfony2
 
Django
DjangoDjango
Django
 
Workshop Técnicas Replicacion I
Workshop Técnicas Replicacion IWorkshop Técnicas Replicacion I
Workshop Técnicas Replicacion I
 
Anatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodleAnatomía de implementación de un LCMS basado en moodle
Anatomía de implementación de un LCMS basado en moodle
 
Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0Estado del Desarrollo de PostgreSQL-9.0
Estado del Desarrollo de PostgreSQL-9.0
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
Apache ha muerto, Viva Lighttpd
Apache ha muerto, Viva LighttpdApache ha muerto, Viva Lighttpd
Apache ha muerto, Viva Lighttpd
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones webGroovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
Groovy&Grails: Cambia la forma de desarrollar tus aplicaciones web
 
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsCambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Java 7- Java Day Guatemala
Java 7- Java Day GuatemalaJava 7- Java Day Guatemala
Java 7- Java Day Guatemala
 
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNADArquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
 
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNADArquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
Arquitectura de Computadores - Laboratorios 1,2 y 3 - UNAD
 
T32
T32T32
T32
 
Masterclass ADWE Madrid
Masterclass ADWE MadridMasterclass ADWE Madrid
Masterclass ADWE Madrid
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 

Último (16)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 

Patrón Façade

  • 1. PATRÓN FAÇADE AUTENTIA.COM Francisco J Arroyo Castro https://plus.google.com/+FranciscoArroyo @farroyocastro Madrid, 06 de Agosto de 2014
  • 2. Descripción ● GoF - Patrón estructural. ● Busca conseguir facilidad de uso y/o legibilidad. ● No añade funcionalidad. ● Conoce los subsistemas pero los subsistemas no lo conocen a él. ● Reducir acoplamiento
  • 3. Ejemplo - UML http://it.wikipedia.org/wiki/File:Esempio_Pattern_Facade_01.jpg
  • 4. Ejemplo - UML http://it.wikipedia.org/wiki/File:Esempio_Pattern_Facade_02_1.jpg
  • 5. Ejemplo - Código - Subsistemas class CPU { public void freeze() { ... } public void jump(long position) { ... } public void execute() { ... } } class Memory { public void load(long position, byte[] data) { ... } } class HardDrive { public byte[] read(long lba, int size) { ... } }
  • 6. Ejemplo - Código - Cliente sin Façade class Cliente { public static void main(String[] args) { CPU processor = new CPU(); Memory ram = new Memory(); HardDrive hd = new HardDrive(); start(processor, ram, hd); } public void start(processor, ram, hd) { processor.freeze(); ram.load(BOOT_ADDRESS , hd.read(BOOT_SECTOR, SECTOR_SIZE));processor. jump(BOOT_ADDRESS); processor.execute() } }
  • 7. Ejemplo - Código - Cliente con Façade class ComputerFacade { private CPU processor; private Memory ram; private HardDrive hd; public ComputerFacade() { this.processor = new CPU(); this.ram = new Memory(); this.hd = new HardDrive(); } public void start() { processor.freeze(); ram.load(BOOT_ADDRESS , hd.read(BOOT_SECTOR, SECTOR_SIZE)); processor.jump (BOOT_ADDRESS); processor.execute(); } } class Cliente { public static void main(String[] args) { ComputerFacade computer = new ComputerFacade(); computer.start(); } }
  • 8. Ventajas ● Abstrae uso de los sistemas internos ● Permite limitar la exposición de los métodos de una clase ● Añade legibilidad ● Permite modificar el sistema sin modificar los clientes
  • 9. Precauciones ● Podemos enmascarar antipatrón The God. ● No tiene porqué haber una única fachada