principios solid "solidifiquemos el coderetreat en corrientes"

Post on 08-Jul-2015

107 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Principios SOLID "SOLIDifiquemos el CodeRetreat en Corrientes" #CodeRetreatNEA #GDCR2013 14/Diciembre/2013 Jose A. Fernandez @fernandezja http://about.me/fernandezja

TRANSCRIPT

Principios #SOLID

#CodeRetreatNEA #GDCR2013

Jose A. Fernandez @fernandezja

http://about.me/fernandezja

#SOLIDifiquemos el #CodeRetreat #Corrientes

S.O.L.I.D. ¿?

Resumen

#Programación Orientada a Objetos#Dolor#Mas dolor… con Nauseas#Formación profesional#Experiencia#Compartir

Que hacemos? Que tenemos que hacer hoy?•Escribir Código, Programar? DISEÑAR•Escribir código “como homo sapiens” • Incluso generarlo…

•Problemas/inconvenientes•Escribirlo•Entenderlo (ni siquiera tocarlo)

•Mantenerlo•Trabajar con otros “homo sapiens”

Desarrollemos en Colectivo no en Bicicleta

Bueno si! Pero S.O.L.I.D.?

• Single Responsibility PrincipleResponsabilidad Única

•Open-Closed PrincipleAbierto/Cerrado

• Liskov Substitution PrincipleSubstitución de Liskov

• Interface Segregation PrincipleSegreación de Intefaz

•Dependency Inversion PrincipleInversion de Dependencia

Principio de Responsabilidad Única

• Responsabilidad?

• Cohesión y Acoplamiento…

• Que sus servicios deben estar alineados a dicha responsabilidad

• …Una razón para cambiar• Acoplar por el simple hecho que se parecen

• Como nos damos cuenta?

• Comentarios, agrupamiento

• Utilización de estado interno (agrupado)

http://blogs.msdn.com/b/cdndevs/archive/2009/07/15/the-solid-principles-explained-with-motivational-posters.aspx

Principios? Mandatorios?

•Un poco chocante?• Lineamientos• Facilitadores• Sugerencias

Principio de Abierto/Cerrado

•Nuestros artefactos de software (clases, módulos, funciones) deben estar Abiertos a la extensión, cerrado para la modificación

• Tratar de realizar por diseño• Herencia (Especificar, Generalizar)• Polimorfismo (próximo principio…)

Principio de Sustitución de Liskov

• Los subtipos deben ser sustituibles por sus tipos base

JugadorDeFutbol

Delantero MedioCampo Defensa Arquero Suplente

Segreación de Intefaz

• Establece que los clientes no deberían verse obligados a depender de los métodos que no utilizan• Pero si depender de sus abstracciones

• Separación de métodos (agrupamiento)• No por cantidad sino por utilización de clientes

Principio de Inversión de Dependencia

• Módulos de alto nivel no depender de módulos de bajo nivel

• Abstracción• En POO: Interfaces

• Preguntas• N Layers?

• Servicios?

Síntesis#Dolor

#Nauseas

#Formación profesional

#Experiencia

#Compartir

• SOLID

• Patrones de Diseño de Software

• Metodología de Desarrollo

• Desarrollemos en Colectivo no en Bicicleta

Gracias!

#SOLIDifiquemos el #CodeRetreat#Corrientes

#CodeRetreatNEA #GDCR2013

Jose A. Fernandez @fernandezja

http://about.me/fernandezja

top related