Your SlideShare is downloading. ×
Principios S.O.L.I.D. en Sistemas de Información Distribuidos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

437
views

Published on

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 …

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.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
437
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. 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. Objetivo principios S.O.L.I.D.Crear programas más sencillos demantener y extender. (Programación Orientada a Objetos)
  • 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. ¿Sistemas de información distribuidos?Para esta charla, sistemas distribuidos que secomunican mediante HTTP. Por ejemplo:• Instagram• Comunio• LiveTeamApp• Geosophic*• … *(cuña publicitaria)
  • 6. 1. Single Responsibility Principle“Un sistema debería tener una únicaresponsabilidad” Auth Highscores Logger FB Reverse Persistence connector geocoder
  • 7. 2. Open/closed principle“Los sistemas de software deberían ser abiertospara extender pero cerrados para modificar” Meh. Vive le Open Source!
  • 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. 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. 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. 5. Dependency Inversion Principle“Un sistema debería depender deabstracciones, no de concreciones” Amazon S3 image-store.instagram.com MySQL #Mega
  • 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. ¿Ideas, sugerencias y preguntas?