Upload
fernando-escolar
View
519
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Programar es difícil, y hacer buen código todavía más. Por suerte para nosotros, gente como Robert C. Martin, Bertrand Meyer, Barbara Liskov o los miembros de GoF nos han dado las herramientas como los patrones de diseño y los principios SOLID que hacen nuestra tarea más sencilla. Con su ayuda podremos pasar de hacer código que simplemente funciona, a aplicaciones robustas y mantenibles que serán fáciles de modificar y en las que será más difícil que haya bugs gracias a los tests unitarios. Subiremos un nivel (o dos) la calidad de nuestro código y veremos cómo dejamos atrás la frustración que provoca hacer código que no se entiende.
Citation preview
Pasiona Consulting
Level up your skills
BARCELONA DEVELOPERS CONFERENCE 20126 dic – 7 dic – 8 dic
www.pasiona.com(+34) 669 333 [email protected]
@pasiona BarcelonaPujades 350, 10ª planta
08019 · Barcelona
BilbaoGran Vía 19-21, 2ª planta
48008 · Bilbao
Londres1 Northumberland Avenue
London · WC2N 5BW
MadridPinar 5,
28006 · Madrid
Conocimientoadquirido a través de la realización de proyectos, formación e innovación tecnológica
Innovaciónligada a la mejora continua y basadaen las nuevas oportunidades tecnológicas
Tecnologíasoluciones a cada una de las necesidadesempresariales que se platean en cada ámbito
Valores humanosguía de lo que hacemos y pretendemosque nos enseña y nos conduce día a día
Pasiónsomos grandes entusiastas de todo aquello que creamos y vemos crecer
Experienciao la garantía de la habilidad derivada de años de vivencias y observación
Microsoftsocio 100% alineado partner 100% especializado
Desarrollocapacidad para realizar proyectos deámbito tecnológico con un fin de mejora
Especializaciónofrecemos soluciones a medida con las mejores herramientas tecnológicas
Qué es
SocialMedia
Servicios profesionales
Consultoría Proyectos
Innovación Azure
Formación
Auditoría
Servicios
@techdencias
@pasiona
#BCD12
@quiqu3@pbousan
@fernandoescolar
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 PrincipleUna clase debe tener una, y solo una, razón para cambiar
Single Responsibility Principle
Single Responsibility Principle
Open-Close PrincipleDebes 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 PrincipleLas clases derivadas, deben poder ser sustituidas por
su clases base
Liskov Substitution Principle
Liskov Substitution Principle
Interface Segregation PrincipleDesgranar 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 PrincipleDepender de las abstracciones no de las concreciones
Dependency Inversion Principle
Dependency Inversion Principle
Keep It Simple, StupidSimple no es lo mismo que programar poco
Don’t Repeat Yourselffor(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
Fernando Escolar@fernandoescolar
Pablo Bouzada@pbousan
BARCELONA DEVELOPERS CONFERENCE 2012
| 6 dic – 7 dic – 8 dic