SlideShare una empresa de Scribd logo
1 de 8
Principio de
Open/Closed (O)
Moises Alexander Salazar Vila
Microsoft Most Valuable Professional
Visión general
SOLID
Principio de
Open/Closed
¿Extender sin
modificar?
Demo Recursos
• (S)ingle Responsibility Principle
• (O)pen/Closed Principle
• (L)iskov Substitution Principle
• (I)nterface Segregation Principle
• (D)ependency Inversion Principle
SOLID
Robert C. Martin
“El principio de Abierto/Cerrado define que cada entidad de software (clases,
módulos, funciones, etc.) deben ser abiertas para extensión, pero cerradas para
modificaciones.”
– Wikipedia
Principio de Open/Closed (O)
¿Extender sin modificar?
• Parámetros
El comportamiento cambia según los parámetros que enviamos
• Herencia
Las clases derivadas sobre-escriben el comportamiento de una clase base
• Composición
Dependemos de la propia implementación de abstracciones pre-definidas
Demo
• SOLID
• https://es.wikipedia.org/wiki/SOLID
• Principio de abierto cerrado
• https://es.wikipedia.org/wiki/Principio_de_abierto/cerrado
• Herencia
• https://es.wikipedia.org/wiki/Herencia_(informática)
Recursos
Gracias
bit.ly/1urSn7l

Más contenido relacionado

Similar a [Xamarin] Principio Open/Closed (O)

Presentación open closed principle
Presentación open closed principlePresentación open closed principle
Presentación open closed principleAutentia
 
Principios S.O.L.I.D. en Sistemas de Información Distribuidos
Principios S.O.L.I.D. en Sistemas de Información DistribuidosPrincipios S.O.L.I.D. en Sistemas de Información Distribuidos
Principios S.O.L.I.D. en Sistemas de Información DistribuidosTanausu Cerdeña
 
A.arriaga webtraining-java script-avanzado
A.arriaga webtraining-java script-avanzadoA.arriaga webtraining-java script-avanzado
A.arriaga webtraining-java script-avanzadoWebtraining Zone
 
Conceptos avanzados oo (presentación 4)
Conceptos avanzados oo (presentación 4)Conceptos avanzados oo (presentación 4)
Conceptos avanzados oo (presentación 4)programadorjavablog
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programaciónJosé Diaz
 
Como implementar MVP sin morir en el intento
Como implementar MVP sin morir en el intentoComo implementar MVP sin morir en el intento
Como implementar MVP sin morir en el intentoDavid Luque Quintana
 
Sesion 1 Java
Sesion 1 JavaSesion 1 Java
Sesion 1 Javatripfrap
 
Principios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a ObjetosPrincipios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a ObjetosJose E. Rodriguez Huerta
 
Principios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLIDPrincipios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLIDLuis Alexander Aldazabal Gil
 
Arquitectura de Software Principio Abierto- Cerrado Open/Close
Arquitectura de Software Principio Abierto- Cerrado Open/CloseArquitectura de Software Principio Abierto- Cerrado Open/Close
Arquitectura de Software Principio Abierto- Cerrado Open/CloseErnesto Maya
 
Frases Motivadoras GLD (engargolado)
Frases Motivadoras GLD (engargolado)Frases Motivadoras GLD (engargolado)
Frases Motivadoras GLD (engargolado)DianaMorales3296
 

Similar a [Xamarin] Principio Open/Closed (O) (20)

Presentación open closed principle
Presentación open closed principlePresentación open closed principle
Presentación open closed principle
 
Deconstrucción de SOLID
Deconstrucción de SOLIDDeconstrucción de SOLID
Deconstrucción de SOLID
 
Principios S.O.L.I.D. en Sistemas de Información Distribuidos
Principios S.O.L.I.D. en Sistemas de Información DistribuidosPrincipios S.O.L.I.D. en Sistemas de Información Distribuidos
Principios S.O.L.I.D. en Sistemas de Información Distribuidos
 
A.arriaga webtraining-java script-avanzado
A.arriaga webtraining-java script-avanzadoA.arriaga webtraining-java script-avanzado
A.arriaga webtraining-java script-avanzado
 
Conceptos avanzados oo (presentación 4)
Conceptos avanzados oo (presentación 4)Conceptos avanzados oo (presentación 4)
Conceptos avanzados oo (presentación 4)
 
SOLID
SOLIDSOLID
SOLID
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Presentacion Elgg
Presentacion ElggPresentacion Elgg
Presentacion Elgg
 
Presentacion Elgg
Presentacion ElggPresentacion Elgg
Presentacion Elgg
 
Como implementar MVP sin morir en el intento
Como implementar MVP sin morir en el intentoComo implementar MVP sin morir en el intento
Como implementar MVP sin morir en el intento
 
Introducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a ObjetosIntroducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos
 
Sesion 1 Java
Sesion 1 JavaSesion 1 Java
Sesion 1 Java
 
Seminario SOLID-TDD
Seminario SOLID-TDDSeminario SOLID-TDD
Seminario SOLID-TDD
 
Principios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a ObjetosPrincipios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a Objetos
 
Principios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLIDPrincipios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLID
 
Arquitectura de Software Principio Abierto- Cerrado Open/Close
Arquitectura de Software Principio Abierto- Cerrado Open/CloseArquitectura de Software Principio Abierto- Cerrado Open/Close
Arquitectura de Software Principio Abierto- Cerrado Open/Close
 
TRABAJO DE INVESTIGACION.pdf
TRABAJO DE INVESTIGACION.pdfTRABAJO DE INVESTIGACION.pdf
TRABAJO DE INVESTIGACION.pdf
 
Programación Orientada a Objetos
Programación Orientada  a ObjetosProgramación Orientada  a Objetos
Programación Orientada a Objetos
 
Frases Motivadoras GLD (engargolado)
Frases Motivadoras GLD (engargolado)Frases Motivadoras GLD (engargolado)
Frases Motivadoras GLD (engargolado)
 
Software Clips
Software ClipsSoftware Clips
Software Clips
 

Más de Moises Alexander Salazar Vila

[Azure Machine Learning] Sesion 3 - Herramientas de Desarrollo de Machine Lea...
[Azure Machine Learning] Sesion 3 - Herramientas de Desarrollo de Machine Lea...[Azure Machine Learning] Sesion 3 - Herramientas de Desarrollo de Machine Lea...
[Azure Machine Learning] Sesion 3 - Herramientas de Desarrollo de Machine Lea...Moises Alexander Salazar Vila
 
[Azure Machine Learning] Sesión 2 - Introducción a Machine Learning
[Azure Machine Learning] Sesión 2 - Introducción a Machine Learning[Azure Machine Learning] Sesión 2 - Introducción a Machine Learning
[Azure Machine Learning] Sesión 2 - Introducción a Machine LearningMoises Alexander Salazar Vila
 
[Azure Machine Learning] Sesion 1 - La ciencia de datos es para todos
[Azure Machine Learning] Sesion 1 - La ciencia de datos es para todos[Azure Machine Learning] Sesion 1 - La ciencia de datos es para todos
[Azure Machine Learning] Sesion 1 - La ciencia de datos es para todosMoises Alexander Salazar Vila
 
[Azure Machine Learning] ¿Qué es Machine Learning?
[Azure Machine Learning] ¿Qué es Machine Learning?[Azure Machine Learning] ¿Qué es Machine Learning?
[Azure Machine Learning] ¿Qué es Machine Learning?Moises Alexander Salazar Vila
 
Coresic2016 - Desarrollo de aplicaciones Multiplataforma con Visual Studio
Coresic2016 - Desarrollo de aplicaciones Multiplataforma con Visual StudioCoresic2016 - Desarrollo de aplicaciones Multiplataforma con Visual Studio
Coresic2016 - Desarrollo de aplicaciones Multiplataforma con Visual StudioMoises Alexander Salazar Vila
 

Más de Moises Alexander Salazar Vila (11)

[Azure Machine Learning] Sesion 3 - Herramientas de Desarrollo de Machine Lea...
[Azure Machine Learning] Sesion 3 - Herramientas de Desarrollo de Machine Lea...[Azure Machine Learning] Sesion 3 - Herramientas de Desarrollo de Machine Lea...
[Azure Machine Learning] Sesion 3 - Herramientas de Desarrollo de Machine Lea...
 
[Azure Machine Learning] Sesión 2 - Introducción a Machine Learning
[Azure Machine Learning] Sesión 2 - Introducción a Machine Learning[Azure Machine Learning] Sesión 2 - Introducción a Machine Learning
[Azure Machine Learning] Sesión 2 - Introducción a Machine Learning
 
[Azure Machine Learning] Sesion 1 - La ciencia de datos es para todos
[Azure Machine Learning] Sesion 1 - La ciencia de datos es para todos[Azure Machine Learning] Sesion 1 - La ciencia de datos es para todos
[Azure Machine Learning] Sesion 1 - La ciencia de datos es para todos
 
[Azure Machine Learning] ¿Qué es Machine Learning?
[Azure Machine Learning] ¿Qué es Machine Learning?[Azure Machine Learning] ¿Qué es Machine Learning?
[Azure Machine Learning] ¿Qué es Machine Learning?
 
[.NET] Entendiendo el Patrón de Repositorio
[.NET] Entendiendo el Patrón de Repositorio[.NET] Entendiendo el Patrón de Repositorio
[.NET] Entendiendo el Patrón de Repositorio
 
[.NET] ¡No hagan Dispose() en HttpClient!
[.NET] ¡No hagan Dispose() en HttpClient![.NET] ¡No hagan Dispose() en HttpClient!
[.NET] ¡No hagan Dispose() en HttpClient!
 
[.NET] Principio de Inversión de Dependencias (D)
[.NET] Principio de Inversión de Dependencias (D)[.NET] Principio de Inversión de Dependencias (D)
[.NET] Principio de Inversión de Dependencias (D)
 
[.NET] Principio de Segregación de Interfaces (I)
[.NET] Principio de Segregación de Interfaces (I)[.NET] Principio de Segregación de Interfaces (I)
[.NET] Principio de Segregación de Interfaces (I)
 
[.NET] Principio de sustitución de Liskov (L)
[.NET] Principio de sustitución de Liskov (L)[.NET] Principio de sustitución de Liskov (L)
[.NET] Principio de sustitución de Liskov (L)
 
Coresic2016 - Desarrollo de aplicaciones Multiplataforma con Visual Studio
Coresic2016 - Desarrollo de aplicaciones Multiplataforma con Visual StudioCoresic2016 - Desarrollo de aplicaciones Multiplataforma con Visual Studio
Coresic2016 - Desarrollo de aplicaciones Multiplataforma con Visual Studio
 
[Cordova] Empezando con Ionic
[Cordova] Empezando con Ionic[Cordova] Empezando con Ionic
[Cordova] Empezando con Ionic
 

Último

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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
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
 
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
 
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
 
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
 
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
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
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
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
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
 
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
 
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
 
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
 

Último (19)

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
 
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)
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
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
 
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...
 
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
 
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
 
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
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
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
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
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
 
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
 
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
 
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
 

[Xamarin] Principio Open/Closed (O)

Notas del editor

  1. Web and Cloud Applications
  2. Abierto para extensions Nuevas funcionalidades pueden agregarse en el futuro Cerrado para modificaciones Cambios al código fuente o binario no son requeridos ¿Extender sin modificar el código? Abstracciones: No hay límites en la variedad de implementaciones de una abstracción Uso de entidades de software abstractas como interfaces y clases base abstractas
  3. Parámetros Combinado con delegados o funciones lambda