POO con Python: diseñar con objetos

Modelar, encapsular, componer y los patrones que se usan de verdad.

14 aulas · 9 horas de práctica · en el navegador, sin instalar nada

Temario

  1. Modelar: de sustantivos a clases — Qué merece ser una clase, qué es un atributo y dónde viven las reglas del negocio.
  2. Encapsular: propiedades y lo que no se toca — `@property`, el guion bajo, y por qué devolver una copia.
  3. Composición: un objeto que tiene otros — «Tiene un» antes que «es un»: armar objetos con piezas.
  4. Taller — El carrito — Un carrito de compras armado con lo de las tres primeras aulas: productos que se validan, líneas que se suman, un cupón que se usa una sola vez y un ticket.
  5. Herencia bien usada — Jerarquías chicas, `super()`, y el método que la base deja para las hijas.
  6. Taller — La fábrica de robots defectuosos — Cada robot llega con un pedido que puede tener datos rotos. Validás en el constructor, separás los que se arman bien de los que hay que reparar, y cerrás el círculo reparando y reintentando.
  7. Polimorfismo y duck typing — La misma llamada, distintas clases, ninguna `if isinstance`.
  8. Clases abstractas: la interfaz escrita — `abc.ABC` y `@abstractmethod`: cuando el acuerdo vale la pena ponerlo por escrito.
  9. Taller — El sistema de avisos — Canales que heredan de una base abstracta con método plantilla, y un despachador que no sabe con qué canal habla: herencia, polimorfismo y abstractas, juntos.
  10. dataclasses: el boilerplate que se escribe solo — `@dataclass`, `frozen`, `field(default_factory)` y qué te regala cada uno.
  11. Strategy y State: comportamiento intercambiable — Cuando el `if` en cadena se convierte en objetos que se cambian en caliente.
  12. Observer y Factory: desacoplar — Quién avisa no conoce a quién escucha; quién pide no conoce qué clase recibe.
  13. SOLID, con código adelante — Cinco principios que ya usaste sin nombre, y cómo se prueba un objeto sin su mundo alrededor.
  14. Taller — La tienda — Todo junto: dataclasses, un envío como Strategy, un pedido con estados, un inventario que avisa y una fábrica de medios de pago, coordinados por una tienda que no sabe de qué clase es nada.

Es parte de