Principios S.O.L.I.D. para sistemas         de información   Usando S.O.L.I.D. en un nivel superior             de abstrac...
Recordatorio: S.O.L.I.D.5 principios básicos de programaciónorientada a objetos y diseño.                      Gracias,   ...
Objetivo principios S.O.L.I.D.Crear programas más sencillos demantener y extender.        (Programación Orientada a Objetos)
¿Aplicables a otro nivel de abstracción?Hagamos un ejercicio:    :s/objeto/sistema/Sustituyamos “objeto” por “sistema” en ...
¿Sistemas de información distribuidos?Para esta charla, sistemas distribuidos que secomunican mediante HTTP. Por ejemplo:•...
1. Single Responsibility Principle“Un sistema debería tener una únicaresponsabilidad”   Auth          Highscores          ...
2. Open/closed principle“Los sistemas de software deberían ser abiertospara extender pero cerrados para modificar”     Meh...
2. Open/closed principle“Los sistemas de software deberían ser abiertospara extender pero cerrados para modificar” ¿Y si l...
3. Liskov Substitution Principle“Los subsistemas de un sistema deberían sersustituibles por instancias de sus subtipos sin...
4. Interface Segregation Principle“Es mejor tener muchas interfaces de clienteespecíficas que una interfaz de propósitogen...
5. Dependency Inversion Principle“Un sistema debería depender deabstracciones, no de concreciones”                        ...
Conclusiones• Deberíamos tener un conjunto de principios  para el diseño de sistemas.• S.O.L.I.D. es un buen comienzo• Muy...
¿Ideas, sugerencias y preguntas?
Próxima SlideShare
Cargando en…5
×

Principios S.O.L.I.D. en Sistemas de Información Distribuidos

723 visualizaciones

Publicado el

Charla realizada para las "Lightning talks" de Agile Canarias. Una propuesta para aplicar los principios S.O.L.I.D. de programación orientada a objetos a un nivel de abstracción superior: a sistemas de información distribuidos.

Publicado en: Tecnología
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
723
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Principios S.O.L.I.D. en Sistemas de Información Distribuidos

  1. 1. Principios S.O.L.I.D. para sistemas de información Usando S.O.L.I.D. en un nivel superior de abstracción Agile Canarias Lightning Talks - 31-01-2012 Tanausú Cerdeña Hernández (@chozero)
  2. 2. Recordatorio: S.O.L.I.D.5 principios básicos de programaciónorientada a objetos y diseño. Gracias, Uncle Bob*! *Robert C. Martin
  3. 3. Objetivo principios S.O.L.I.D.Crear programas más sencillos demantener y extender. (Programación Orientada a Objetos)
  4. 4. ¿Aplicables a otro nivel de abstracción?Hagamos un ejercicio: :s/objeto/sistema/Sustituyamos “objeto” por “sistema” en ladefinición de los principios y veamos si podemosaplicarlos a sistemas de informacióndistribuidos.
  5. 5. ¿Sistemas de información distribuidos?Para esta charla, sistemas distribuidos que secomunican mediante HTTP. Por ejemplo:• Instagram• Comunio• LiveTeamApp• Geosophic*• … *(cuña publicitaria)
  6. 6. 1. Single Responsibility Principle“Un sistema debería tener una únicaresponsabilidad” Auth Highscores Logger FB Reverse Persistence connector geocoder
  7. 7. 2. Open/closed principle“Los sistemas de software deberían ser abiertospara extender pero cerrados para modificar” Meh. Vive le Open Source!
  8. 8. 2. Open/closed principle“Los sistemas de software deberían ser abiertospara extender pero cerrados para modificar” ¿Y si lo aplicamos a las APIs que comunican sistemas?
  9. 9. 3. Liskov Substitution Principle“Los subsistemas de un sistema deberían sersustituibles por instancias de sus subtipos sinalterar el correcto funcionamiento del sistema” Amazon S3 API MySQL #Mega
  10. 10. 4. Interface Segregation Principle“Es mejor tener muchas interfaces de clienteespecíficas que una interfaz de propósitogeneral” Tabla Periódica de las APIs de Google
  11. 11. 5. Dependency Inversion Principle“Un sistema debería depender deabstracciones, no de concreciones” Amazon S3 image-store.instagram.com MySQL #Mega
  12. 12. Conclusiones• Deberíamos tener un conjunto de principios para el diseño de sistemas.• S.O.L.I.D. es un buen comienzo• Muy necesario en sistemas de vida larga (admón. Pública, grandes compañías, banca,…)• Nuestros nietos programadores lo agradecerán.
  13. 13. ¿Ideas, sugerencias y preguntas?

×