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

Level up your skills