Soumettre la recherche
Mettre en ligne
SOLID para CatDotNet
•
Télécharger en tant que PPTX, PDF
•
0 j'aime
•
472 vues
Fernando Escolar Martínez-Berganza
Suivre
Principios básicos de la programación y calidad.
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 43
Télécharger maintenant
Recommandé
Deconstrucción de SOLID
Deconstrucción de SOLID
Fernando Escolar Martínez-Berganza
If else
If else
ko_enano543
Solid Principles
Solid Principles
Martin Salias
Chokololis
Chokololis
ChokololisEcuador
Teorías de aprendizaje
Teorías de aprendizaje
Mojgan Hashemi
Pitch bootcamp enhancv presentation
Pitch bootcamp enhancv presentation
Volen Vulkov
sistema de gestion de contenidos
sistema de gestion de contenidos
cleofe111
El positivismo vanessa
El positivismo vanessa
Universidad Fermin Toro
Recommandé
Deconstrucción de SOLID
Deconstrucción de SOLID
Fernando Escolar Martínez-Berganza
If else
If else
ko_enano543
Solid Principles
Solid Principles
Martin Salias
Chokololis
Chokololis
ChokololisEcuador
Teorías de aprendizaje
Teorías de aprendizaje
Mojgan Hashemi
Pitch bootcamp enhancv presentation
Pitch bootcamp enhancv presentation
Volen Vulkov
sistema de gestion de contenidos
sistema de gestion de contenidos
cleofe111
El positivismo vanessa
El positivismo vanessa
Universidad Fermin Toro
Presentación uso del video educativo
Presentación uso del video educativo
Vladimir Juarez
Practicas
Practicas
Zan Arroyo
Relación entre la guerra fría y la historia
Relación entre la guerra fría y la historia
Sebas Cortes
Katy simbaña
Katy simbaña
Katy Simbaña
Feliz Nawruz
Feliz Nawruz
Mojgan Hashemi
Programariinstalacio
Programariinstalacio
Gerard Apellidos
TIC Transformacion Escuela
TIC Transformacion Escuela
Ulises Hernandez Pino
гдз английский язык Enjoy english 2 класс биболетова
гдз английский язык Enjoy english 2 класс биболетова
kov89
El bloque pacie o bloque 0
El bloque pacie o bloque 0
patyvizuete
Colegio de bachilleres palntel 8
Colegio de bachilleres palntel 8
llaverito16
Extractivismo en América Latina: Impacto en la vida de las mujeres y propuest...
Extractivismo en América Latina: Impacto en la vida de las mujeres y propuest...
Crónicas del despojo
Examen
Examen
cardenasjhon
Identificación de peligros y evaluación de riesgos
Identificación de peligros y evaluación de riesgos
CristianCRojas28
Online travel web site and digital strategy
Online travel web site and digital strategy
Begum Eser
Comunicación y tecnología educativa
Comunicación y tecnología educativa
Mojgan Hashemi
Peru
Peru
eugenn99
bc-report-ch1-digital_0
bc-report-ch1-digital_0
Erad Kawsar
Precentacion
Precentacion
Zan Arroyo
Enf. virales
Enf. virales
Kathy Daya Mejia Ruales
Parte II
Parte II
Zan Arroyo
Solid
Solid
Lennon Shimokawa
Principios SOLID
Principios SOLID
Joan Sebastián Ramírez Pérez
Contenu connexe
En vedette
Presentación uso del video educativo
Presentación uso del video educativo
Vladimir Juarez
Practicas
Practicas
Zan Arroyo
Relación entre la guerra fría y la historia
Relación entre la guerra fría y la historia
Sebas Cortes
Katy simbaña
Katy simbaña
Katy Simbaña
Feliz Nawruz
Feliz Nawruz
Mojgan Hashemi
Programariinstalacio
Programariinstalacio
Gerard Apellidos
TIC Transformacion Escuela
TIC Transformacion Escuela
Ulises Hernandez Pino
гдз английский язык Enjoy english 2 класс биболетова
гдз английский язык Enjoy english 2 класс биболетова
kov89
El bloque pacie o bloque 0
El bloque pacie o bloque 0
patyvizuete
Colegio de bachilleres palntel 8
Colegio de bachilleres palntel 8
llaverito16
Extractivismo en América Latina: Impacto en la vida de las mujeres y propuest...
Extractivismo en América Latina: Impacto en la vida de las mujeres y propuest...
Crónicas del despojo
Examen
Examen
cardenasjhon
Identificación de peligros y evaluación de riesgos
Identificación de peligros y evaluación de riesgos
CristianCRojas28
Online travel web site and digital strategy
Online travel web site and digital strategy
Begum Eser
Comunicación y tecnología educativa
Comunicación y tecnología educativa
Mojgan Hashemi
Peru
Peru
eugenn99
bc-report-ch1-digital_0
bc-report-ch1-digital_0
Erad Kawsar
Precentacion
Precentacion
Zan Arroyo
Enf. virales
Enf. virales
Kathy Daya Mejia Ruales
Parte II
Parte II
Zan Arroyo
En vedette
(20)
Presentación uso del video educativo
Presentación uso del video educativo
Practicas
Practicas
Relación entre la guerra fría y la historia
Relación entre la guerra fría y la historia
Katy simbaña
Katy simbaña
Feliz Nawruz
Feliz Nawruz
Programariinstalacio
Programariinstalacio
TIC Transformacion Escuela
TIC Transformacion Escuela
гдз английский язык Enjoy english 2 класс биболетова
гдз английский язык Enjoy english 2 класс биболетова
El bloque pacie o bloque 0
El bloque pacie o bloque 0
Colegio de bachilleres palntel 8
Colegio de bachilleres palntel 8
Extractivismo en América Latina: Impacto en la vida de las mujeres y propuest...
Extractivismo en América Latina: Impacto en la vida de las mujeres y propuest...
Examen
Examen
Identificación de peligros y evaluación de riesgos
Identificación de peligros y evaluación de riesgos
Online travel web site and digital strategy
Online travel web site and digital strategy
Comunicación y tecnología educativa
Comunicación y tecnología educativa
Peru
Peru
bc-report-ch1-digital_0
bc-report-ch1-digital_0
Precentacion
Precentacion
Enf. virales
Enf. virales
Parte II
Parte II
Similaire à SOLID para CatDotNet
Solid
Solid
Lennon Shimokawa
Principios SOLID
Principios SOLID
Joan Sebastián Ramírez Pérez
Principios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLID
Luis Alexander Aldazabal Gil
¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato
Rubén Bernárdez
[Xamarin] Principio Open/Closed (O)
[Xamarin] Principio Open/Closed (O)
Moises Alexander Salazar Vila
Principios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a Objetos
Jose E. Rodriguez Huerta
Seminario SOLID-TDD
Seminario SOLID-TDD
Gabriel Falcone
Introducción a Ceylon
Introducción a Ceylon
Enrique Zamudio López
Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces
Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces
Emilio Aviles Avila
Solid con typescript
Solid con typescript
Leonardo Micheloni
El lenguaje Ceylon y sus ventajas sobre Java
El lenguaje Ceylon y sus ventajas sobre Java
Software Guru
Principios SOLID
Principios SOLID
Sebastián Rocco
Presentacion progra
Presentacion progra
zeta2015
Principios de diseño SOLID
Principios de diseño SOLID
Manuel Zapata
SOLID
SOLID
Andrés Grosso
Poo
Poo
Henry Centeno
[Xamarin] Principio de Responsabilidad Única (S)
[Xamarin] Principio de Responsabilidad Única (S)
Moises Alexander Salazar Vila
Clean code 10-11
Clean code 10-11
540deg
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Alfredo Chavez
¿Qué es una interface en java?
¿Qué es una interface en java?
Erick Aguila Martínez
Similaire à SOLID para CatDotNet
(20)
Solid
Solid
Principios SOLID
Principios SOLID
Principios de diseño de código orientado a objetos SOLID
Principios de diseño de código orientado a objetos SOLID
¿A qué huele tu código? Afinando nuestro olfato
¿A qué huele tu código? Afinando nuestro olfato
[Xamarin] Principio Open/Closed (O)
[Xamarin] Principio Open/Closed (O)
Principios SOLID de Diseño Orientado a Objetos
Principios SOLID de Diseño Orientado a Objetos
Seminario SOLID-TDD
Seminario SOLID-TDD
Introducción a Ceylon
Introducción a Ceylon
Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces
Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces
Solid con typescript
Solid con typescript
El lenguaje Ceylon y sus ventajas sobre Java
El lenguaje Ceylon y sus ventajas sobre Java
Principios SOLID
Principios SOLID
Presentacion progra
Presentacion progra
Principios de diseño SOLID
Principios de diseño SOLID
SOLID
SOLID
Poo
Poo
[Xamarin] Principio de Responsabilidad Única (S)
[Xamarin] Principio de Responsabilidad Única (S)
Clean code 10-11
Clean code 10-11
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
¿Qué es una interface en java?
¿Qué es una interface en java?
Plus de Fernando Escolar Martínez-Berganza
Por qué todo lo que subo a azure esta mal
Por qué todo lo que subo a azure esta mal
Fernando Escolar Martínez-Berganza
Gapand - por qué odio git?
Gapand - por qué odio git?
Fernando Escolar Martínez-Berganza
Betabeers - continuous deployment
Betabeers - continuous deployment
Fernando Escolar Martínez-Berganza
Devops RoadShow: load testing and autoscale
Devops RoadShow: load testing and autoscale
Fernando Escolar Martínez-Berganza
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Fernando Escolar Martínez-Berganza
Reconnect 2015 - ALM VSTS
Reconnect 2015 - ALM VSTS
Fernando Escolar Martínez-Berganza
Codemotion 2015 - Unit Testing
Codemotion 2015 - Unit Testing
Fernando Escolar Martínez-Berganza
Unit testing en Windows 10
Unit testing en Windows 10
Fernando Escolar Martínez-Berganza
Las cronicas de redis
Las cronicas de redis
Fernando Escolar Martínez-Berganza
Redis: no solo una caché
Redis: no solo una caché
Fernando Escolar Martínez-Berganza
DotNet Conference: code smells
DotNet Conference: code smells
Fernando Escolar Martínez-Berganza
Foro de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondo
Fernando Escolar Martínez-Berganza
Codemotion: descubriendo las cachés
Codemotion: descubriendo las cachés
Fernando Escolar Martínez-Berganza
Unit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugs
Fernando Escolar Martínez-Berganza
We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)
Fernando Escolar Martínez-Berganza
Mobile services by @quiqu3
Mobile services by @quiqu3
Fernando Escolar Martínez-Berganza
Javascript no es vietnam
Javascript no es vietnam
Fernando Escolar Martínez-Berganza
Where is my beer?
Where is my beer?
Fernando Escolar Martínez-Berganza
Coding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival Guide
Fernando Escolar Martínez-Berganza
Level up your skills
Level up your skills
Fernando Escolar Martínez-Berganza
Plus de Fernando Escolar Martínez-Berganza
(20)
Por qué todo lo que subo a azure esta mal
Por qué todo lo que subo a azure esta mal
Gapand - por qué odio git?
Gapand - por qué odio git?
Betabeers - continuous deployment
Betabeers - continuous deployment
Devops RoadShow: load testing and autoscale
Devops RoadShow: load testing and autoscale
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Reconnect 2015 - ALM VSTS
Reconnect 2015 - ALM VSTS
Codemotion 2015 - Unit Testing
Codemotion 2015 - Unit Testing
Unit testing en Windows 10
Unit testing en Windows 10
Las cronicas de redis
Las cronicas de redis
Redis: no solo una caché
Redis: no solo una caché
DotNet Conference: code smells
DotNet Conference: code smells
Foro de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondo
Codemotion: descubriendo las cachés
Codemotion: descubriendo las cachés
Unit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugs
We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)
Mobile services by @quiqu3
Mobile services by @quiqu3
Javascript no es vietnam
Javascript no es vietnam
Where is my beer?
Where is my beer?
Coding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival Guide
Level up your skills
Level up your skills
SOLID para CatDotNet
1.
SOLID
Los principios básicos de la OOP @fernandoescolar fer.escolar@gmail.com
2.
Programación Orientada a Objetos
• Abstracción • Encapsulamiento • Herencia • Cohesión • Polimorfismo
3.
4.
Refactorización de código
• Código duplicado • Métodos largos • Clases largas • Atributos temporales • Código espagueti • Jerarquías de herencia paralelas
5.
6.
Código que huele(Code
Smells) • Rigidez • Fragilidad • Inmovilidad • Viscosidad • Complejidad innecesaria • Repetitividad • Opacidad
7.
8.
9.
SOLID •
Single responsibility • Open-closed • Liskov substitution • Interface segregation • Dependency inversion
10.
11.
Single Responsibility Principle
Una clase debe tener una, y solo una, razón para cambiar
12.
Single Responsibility Principle
13.
Demo
14.
15.
Open-Closed Principle
Debes ser capaz de extender el comportamiento de una clase sin necesidad de modificarla (abierto a extensión, cerrado a modificación)
16.
Strategy Pattern
17.
Demo
18.
19.
Liskov Substitution Principle
Las clases derivadas, deben poder ser sustituidas por su clases base
20.
Liskov Substitution Principle
21.
Demo
22.
23.
Interface Segregation Principle
Desgranar las interfaces lo más fino posible, para que sean lo más específicas posible
24.
Interface Segregation Principle
25.
Demo
26.
Demo
27.
28.
Dependency Inversion Principle
Depender de las abstracciones no de las concreciones
29.
Dependency Injection
30.
Demo
31.
32.
33.
Keep It Simple,
Stupid! Simple no es lo mismo que programar poco
34.
35.
DRY: Don’t Repeat
Yoursef for(int i = 0; i< 100; i++) Console.WriteLine(“I’ll not repeat myself”);
36.
37.
YAGNI
Tenemos que ser capaces de adaptarnos rápidamente al cambio, no preverlo
38.
39.
Don’t reinvent the
wheel Si ya existe, se adapta a nuestras necesidades, esta probado y funciona… ¿por qué no utilizarlo?
40.
Cuando programes: SOLID Piensa
en el objetivo de cada principio y si lo estás cumpliendo en todo momento.
41.
Preguntas
42.
Bibliografía
43.
¡Muchas gracias! @fernandoescolar fer.escolar@gmail.com
Télécharger maintenant