SlideShare une entreprise Scribd logo
1  sur  44
Pasiona Consulting
Level up your skills

BARCELONA DEVELOPERS CONFERENCE 2012
6 dic – 7 dic – 8 dic
www.pasiona.com
info@pasiona.com
(+34) 669 333 333
@pasiona            Barcelona                 Bilbao                      Madrid           Londres
                    Pujades 350, 10ª planta   Gran Vía 19-21, 2ª planta   Pinar 5,         1 Northumberland Avenue
                    08019 · Barcelona         48008 · Bilbao              28006 · Madrid   London · WC2N 5BW
Qué es



Microsoft                                 Innovación                                      Pasión
socio 100% alineado                       ligada a la mejora continua y basada            somos grandes entusiastas de todo
partner 100% especializado                en las nuevas oportunidades tecnológicas        aquello que creamos y vemos crecer


Desarrollo                                Tecnología                                      Experiencia
capacidad para realizar proyectos de      soluciones a cada una de las necesidades        o la garantía de la habilidad derivada
ámbito tecnológico con un fin de mejora   empresariales que se platean en cada ámbito     de años de vivencias y observación


Especialización                           Conocimiento                                    Valores humanos
ofrecemos soluciones a medida con         adquirido a través de la realización de         guía de lo que hacemos y pretendemos
las mejores herramientas tecnológicas     proyectos, formación e innovación tecnológica   que nos enseña y nos conduce día a día
Servicios
Consultoría   Proyectos       Auditoría




              Servicios                    Social      Formación
              profesionales                Media



                                          Innovación    Azure
@techdencias

                   @pasiona

@quiqu3
@pbousan
@fernandoescolar       #BCD1
                       2
Agenda
Programación Orientada a Objetos
Refactoring
SOLID
[T]DD
POO
 Abstración
 Encapsulamiento
 Herencia
 Cohesión
 Polimorfismo
Refactoring
 Código duplicado
 Métodos largos
 Clases largas
 Atributos temporales
 Código espagueti
 Jerarquías de herencia paralelas
5 principios básicos
 Single responsibility
 Open-closed
 Liskov substitution
 Interface segregation
 Dependency inversion
Single Responsibility Principle
Una clase debe tener una, y solo una, razón para cambiar
Single Responsibility Principle
Single Responsibility Principle
Open-Close Principle
Debes ser capaz de extender el comportamiento
de una clase sin necesidad de modificarla
(abierto a extensión, cerrado a modificación)
Strategy Pattern
Open-Close Principle
Liskov Substitution Principle
Las clases derivadas, deben poder ser sustituidas por
su clases base
Liskov Substitution Principle
Liskov Substitution Principle
Interface Segregation Principle
Desgranar las interfaces lo más fino posible,
para que sean lo más específicas posible
Interface Segregation Principle
Interface Segregation Principle
Interface Segregation Principle
Dependency Inversion Principle
Depender de las abstracciones no de las concreciones
Dependency Inversion Principle
Dependency Inversion Principle
Keep It Simple, Stupid
Simple no es lo mismo que programar poco
Don’t Repeat Yourself
for(int i = 0; i< 100; i++)
   Console.WriteLine(“I’ll not repeat myself”);
You Ain’t Gonna Need It
 Tenemos que ser capaces de adaptarnos
 rápidamente al cambio, no preverlo
Don’t Reinvent The Wheel
 Si ya existe, se adapta a nuestras necesidades,
 esta probado y funciona… ¿por qué no utilizarlo?
Quique Martínez
   @quiqu3            Q&A
Pablo Bouzada
   @pbousan
Fernando Escolar
   @fernandoescolar
BARCELONA DEVELOPERS CONFERENCE 2012
                       | 6 dic – 7 dic – 8 dic

Contenu connexe

Similaire à Level up your skills

TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?Pablo Bouzada
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSEdin Kapic
 
KnockoutJs at We Love Js event
KnockoutJs at We Love Js eventKnockoutJs at We Love Js event
KnockoutJs at We Love Js eventMarc Rubiño
 
SPA ASP.NET MVC & AngularJS codemotion 2013
SPA ASP.NET MVC & AngularJS  codemotion 2013SPA ASP.NET MVC & AngularJS  codemotion 2013
SPA ASP.NET MVC & AngularJS codemotion 2013Marc Rubiño
 
Aplicaciones moviles nativas con Xamarin
Aplicaciones moviles nativas con XamarinAplicaciones moviles nativas con Xamarin
Aplicaciones moviles nativas con XamarinMarc Rubiño
 
Mvp cluster - Línea de movilidad
Mvp cluster - Línea de movilidadMvp cluster - Línea de movilidad
Mvp cluster - Línea de movilidadMVP CLUSTER
 
Programa Ejecutivo en Transformación Digital - Madrid - Edición Marzo 2022
Programa Ejecutivo en Transformación Digital - Madrid - Edición Marzo 2022Programa Ejecutivo en Transformación Digital - Madrid - Edición Marzo 2022
Programa Ejecutivo en Transformación Digital - Madrid - Edición Marzo 2022Vicente De los Rios Medina
 
Liderazgo en tecnologia educativa
Liderazgo en tecnologia educativaLiderazgo en tecnologia educativa
Liderazgo en tecnologia educativaAndoni Sanz
 
Astek iberia - General Presentation
Astek iberia - General PresentationAstek iberia - General Presentation
Astek iberia - General PresentationAstek Iberia
 
D2I Institute Panama Programacion 2015 Q1
D2I Institute Panama Programacion 2015 Q1D2I Institute Panama Programacion 2015 Q1
D2I Institute Panama Programacion 2015 Q1d2i institute panama
 
Aprendizaje digital ¿moda o realidad? Grupo Bolívar
Aprendizaje digital ¿moda o realidad? Grupo BolívarAprendizaje digital ¿moda o realidad? Grupo Bolívar
Aprendizaje digital ¿moda o realidad? Grupo BolívarDemos Group LATAM
 

Similaire à Level up your skills (20)

TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?
 
BcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMSBcnDevCon12 - Una vuelta por Orchard CMS
BcnDevCon12 - Una vuelta por Orchard CMS
 
Coding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival GuideCoding kihon + Zombie Code Survival Guide
Coding kihon + Zombie Code Survival Guide
 
We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)We Love Js 6 - Knockout js (with Marc Rubiño)
We Love Js 6 - Knockout js (with Marc Rubiño)
 
KnockoutJs at We Love Js event
KnockoutJs at We Love Js eventKnockoutJs at We Love Js event
KnockoutJs at We Love Js event
 
MediaNet Software
MediaNet SoftwareMediaNet Software
MediaNet Software
 
SPA ASP.NET MVC & AngularJS codemotion 2013
SPA ASP.NET MVC & AngularJS  codemotion 2013SPA ASP.NET MVC & AngularJS  codemotion 2013
SPA ASP.NET MVC & AngularJS codemotion 2013
 
InnovacióN Sustentable
InnovacióN SustentableInnovacióN Sustentable
InnovacióN Sustentable
 
LOGIC TRAINING
LOGIC TRAININGLOGIC TRAINING
LOGIC TRAINING
 
Aplicaciones moviles nativas con Xamarin
Aplicaciones moviles nativas con XamarinAplicaciones moviles nativas con Xamarin
Aplicaciones moviles nativas con Xamarin
 
Mvp cluster - Línea de movilidad
Mvp cluster - Línea de movilidadMvp cluster - Línea de movilidad
Mvp cluster - Línea de movilidad
 
Programa Ejecutivo en Transformación Digital - Madrid - Edición Marzo 2022
Programa Ejecutivo en Transformación Digital - Madrid - Edición Marzo 2022Programa Ejecutivo en Transformación Digital - Madrid - Edición Marzo 2022
Programa Ejecutivo en Transformación Digital - Madrid - Edición Marzo 2022
 
Dossier Ifo 310509
Dossier Ifo 310509Dossier Ifo 310509
Dossier Ifo 310509
 
Liderazgo en tecnologia educativa
Liderazgo en tecnologia educativaLiderazgo en tecnologia educativa
Liderazgo en tecnologia educativa
 
Astek iberia - General Presentation
Astek iberia - General PresentationAstek iberia - General Presentation
Astek iberia - General Presentation
 
Acceleralia
AcceleraliaAcceleralia
Acceleralia
 
D2I Institute Panama Programacion 2015 Q1
D2I Institute Panama Programacion 2015 Q1D2I Institute Panama Programacion 2015 Q1
D2I Institute Panama Programacion 2015 Q1
 
LearningMex
LearningMexLearningMex
LearningMex
 
Somos. mira soluciones.
Somos. mira soluciones.Somos. mira soluciones.
Somos. mira soluciones.
 
Aprendizaje digital ¿moda o realidad? Grupo Bolívar
Aprendizaje digital ¿moda o realidad? Grupo BolívarAprendizaje digital ¿moda o realidad? Grupo Bolívar
Aprendizaje digital ¿moda o realidad? Grupo Bolívar
 

Plus de Fernando Escolar Martínez-Berganza

Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016Roslyn: Hello from the other compiler - dotNet Spain Conference 2016
Roslyn: Hello from the other compiler - dotNet Spain Conference 2016Fernando 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 malPor qué todo lo que subo a azure esta mal
Por qué todo lo que subo a azure esta mal
 
Deconstrucción de SOLID
Deconstrucción de SOLIDDeconstrucción de SOLID
Deconstrucción de SOLID
 
Gapand - por qué odio git?
Gapand - por qué odio git?Gapand - por qué odio git?
Gapand - por qué odio git?
 
Betabeers - continuous deployment
Betabeers - continuous deploymentBetabeers - continuous deployment
Betabeers - continuous deployment
 
Devops RoadShow: load testing and autoscale
Devops RoadShow: load testing and autoscaleDevops 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 2016Roslyn: 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 VSTSReconnect 2015 - ALM VSTS
Reconnect 2015 - ALM VSTS
 
Codemotion 2015 - Unit Testing
Codemotion 2015 - Unit TestingCodemotion 2015 - Unit Testing
Codemotion 2015 - Unit Testing
 
Unit testing en Windows 10
Unit testing en Windows 10Unit testing en Windows 10
Unit testing en Windows 10
 
Las cronicas de redis
Las cronicas de redisLas cronicas de redis
Las cronicas de redis
 
Redis: no solo una caché
Redis: no solo una cachéRedis: no solo una caché
Redis: no solo una caché
 
DotNet Conference: code smells
DotNet Conference: code smellsDotNet Conference: code smells
DotNet Conference: code smells
 
Foro de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondoForo de Arquitectos: caché en azure a fondo
Foro de Arquitectos: caché en azure a fondo
 
Codemotion: descubriendo las cachés
Codemotion: descubriendo las cachésCodemotion: 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 bugsUnit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugs
 
Mobile services by @quiqu3
Mobile services by @quiqu3Mobile services by @quiqu3
Mobile services by @quiqu3
 
Javascript no es vietnam
Javascript no es vietnamJavascript no es vietnam
Javascript no es vietnam
 
Where is my beer?
Where is my beer?Where is my beer?
Where is my beer?
 
Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a TDD
 
Tests de carga en la nube
Tests de carga en la nubeTests de carga en la nube
Tests de carga en la nube
 

Level up your skills