Anahí Salgado @anncode

Principios SOLID y

Diseño Orientado a Objetos

Aprende a Analizar, Modelar y Codificar sistemas escalables, aplicando los principios y patrones de Programación Orientada a Objetos y Principios SOLID.

¿Qué aprenderás?

Programación Orientada a Objetos

Principios de Software: DRY, Composición sobre Herencia, STUPID, KISS

Principios de Arquitectura Limpia

Principios SOLID

Patrones de Diseño: Singleton, Factory, Dependency Injection

Contenido

Diseño de Software

  • ¿Qué es el Diseño de Software?
  • Diseño Orientado a Objetos
  • Principios SOLID
  • Aprendiendo a analizar un problema orientado a objetos
Image

Clases

  • Objetos, Clase, Atributos, Funcionalidades
  • Método Constructor de una Clase
  • Método init
  • Tell Don’t Ask Principio de Diseño
  • Single Responsibility Principle de SOLID Principles

Otros tipos de Clases en Kotlin

  • Data Clases en Kotlin
  • Enums con Método Constructor
  • Sealed Classes
  • Object Keyword y Singleton Pattern
  • Object keyword Anidado y Companion Objects

Image

Programación Orientada a Objetos: Herencia

  • DRY: Don’t Repeat Yourself Principio de Diseño
  • Open y Herencia con Kotlin
  • var y val en Herencia
  • Analizando Herencia por Niveles en Kotlin

POO: Polimorfismo y Encapsulamiento

  • ¿Qué es Polimorfismo?
  • Liskov Substitution Principle de SOLID Principles
  • Clases Abstractas
  • Encapsulamiento

Programación Orientada a Objetos: Interfaces

  • ¿Qué es una Interfaz?
  • Interfaces y Generics
  • Interfaces y Polimorfismo
  • Composición sobre Herencia (Composition over Inheritance)

Programación Orientada a Objetos: Interfaces

  • Factory Pattern
  • Open Close Principle de SOLID Principles
  • Interface Segregation Principle de SOLID Principles
  • Requerimientos y Use Cases
Image

Principios de Arquitectura I

  • Capas de un Proyecto
  • Interfaces para unir Capas
  • Dependency Injection Pattern
  • Dependency Inversion Principle vs Dependendy Injection
  • Dependency Inversion y Polimorfismo

Principios de Arquitectura II

  • Singleton Pattern
  • Extension Functions
  • Extension Functions y Generics
  • STUPID y KISS Design Principles

Principios SOLID y

Diseño Orientado a Objetos

Aprende a Analizar, Modelar y Codificar sistemas escalables, aplicando los principios y patrones de Programación Orientada a Objetos y Principios SOLID.