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
- Modelar: de sustantivos a clases — Qué merece ser una clase, qué es un atributo y dónde viven las reglas del negocio.
- Encapsular: propiedades y lo que no se toca — `@property`, el guion bajo, y por qué devolver una copia.
- Composición: un objeto que tiene otros — «Tiene un» antes que «es un»: armar objetos con piezas.
- 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.
- Herencia bien usada — Jerarquías chicas, `super()`, y el método que la base deja para las hijas.
- 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.
- Polimorfismo y duck typing — La misma llamada, distintas clases, ninguna `if isinstance`.
- Clases abstractas: la interfaz escrita — `abc.ABC` y `@abstractmethod`: cuando el acuerdo vale la pena ponerlo por escrito.
- 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.
- dataclasses: el boilerplate que se escribe solo — `@dataclass`, `frozen`, `field(default_factory)` y qué te regala cada uno.
- Strategy y State: comportamiento intercambiable — Cuando el `if` en cadena se convierte en objetos que se cambian en caliente.
- Observer y Factory: desacoplar — Quién avisa no conoce a quién escucha; quién pide no conoce qué clase recibe.
- SOLID, con código adelante — Cinco principios que ya usaste sin nombre, y cómo se prueba un objeto sin su mundo alrededor.
- 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.