Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Solid con typescript

133 vues

Publié le

Slides utilizados en la charla:

Video: https://www.youtube.com/watch?v=xHg7AY1f7wE

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Solid con typescript

  1. 1. SOLID con Leonardo Micheloni
  2. 2. Objetivo Comprender los pricipios SOLID, sus bases, su utilidad, su aplicación real y cómo gracias a Typescript es posible aplicarlos completamente en Javascript.
  3. 3. Agradecimientos
  4. 4. ¿Quién soy? Leonardo Micheloni @leomicheloni Electrónica / ingeniería en sistemas Agilidad desde 2007 Arquitecto en Tokiota +15 años
  5. 5. Disclaimer • Visión desde mi experiencia • No hay verdades absolutas • I’m not an expert @leomicheloni
  6. 6. Escenario • Las tecnologías evolucionan • Los conocimientos de base no cambian • Todo conocimiento nos permite tener una mejor visión a la hora de decidir @leomicheloni
  7. 7. ¿Qué es SOLID? • Una cosa que se pregunta en la entrevistas • Es un conjunto de principios: Robert Martin • Pensado para POO • Para permitir mejorar: • Escalabilidad • Rigidez • Matenibilidad • Evolución • Reutilización • Se relaciona con la agilidad • Alta cohesión y bajo acoplamiento @leomicheloni
  8. 8. ¿Cuáles son los principios? • S: Single responsability • O: Open close • L: Liskov sustitution • I: Interface segregation • D: Dependency inversion Se encuentran por orden de importancia: Los dos últimos están en orden inverso. @leomicheloni
  9. 9. @leomicheloni
  10. 10. ¿Por qué Typescript? • Porque los principios se basan en POO • Si bien podemos usar algunas cosas de POO en ES6 Typescript agrega otras que no son posibles, como interfaces. • Además Typescript permite compilar a ES5 o ES3 @leomicheloni
  11. 11. OOP • Clases • Herencia > simple • Polimorfismo • Clases abstractas • Interfaces • IoC • Factory @leomicheloni
  12. 12. Single responsability principle “A class should have only a single responsibility, that is, only changes to one part of the software's specification should be able to affect the specification of the class”. Robert Martin, Tom DeMarco @leomicheloni
  13. 13. Open close principle "Software entities ... should be open for extension, but closed for modification." • Classes • Modules • Functions Bertrand Meyer @leomicheloni
  14. 14. Liskov sustitution principle "Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.“ Barbara Liskov @leomicheloni
  15. 15. Interface segregation principle "Many client-specific interfaces are better than one general-purpose interface." Robert Martin @leomicheloni
  16. 16. Dependency inversion principle One should depend upon abstractions, not concretions. Robert Martin @leomicheloni
  17. 17. Otros principios con los que se relaciona SOLID • KISS • DRY • YAGNI • Design by contract @leomicheloni
  18. 18. ¿Preguntas? @leomicheloni
  19. 19. Referencias • https://hanselminutes.com/145/solid-principles-with-uncle-bob- robert-c-martin • http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod • https://en.wikipedia.org/wiki/SOLID • http://www.danamuise.net/blog/2016/1/12/v12kquly0pw63trxg7bg 1kvr8qwguj • https://github.com/leomicheloni/typescriptsolid • https://www.meetup.com/es-ES/justcoding/ @leomicheloni
  20. 20. GRACIAS! @leomicheloni

×