Contenido del curso
Principios SOLID
- 2

Qué es el principio de responsabilidad única
05:58 min - 3

Procesador de pagos en Python con Stripe
11:13 min - 4

Cómo aplicar SRP en un procesador de pagos con Stripe
25:19 min - 5

Principio open-closed en Python
02:39 min - 6

Clases abstractas y principio abierto-cerrado
14:46 min - 7

Principio de Liskov en S.O.L.I.D.
03:18 min - 8

Principio de sustitución de Liskov en Python
06:38 min - 9

Principio de segregación de interfaces en SOLID
02:33 min - 10

Segregación de interfaces en procesadores de pagos
09:05 min - 11

Principio de inversión de dependencias en SOLID
04:13 min - 12

Principio de inversión de dependencias: servicio de pagos flexible
05:56 min
Reestructuración del proyecto
Patrones de Diseño
- 14

Qué son los patrones de diseño: definición y categorías
03:54 min - 15

Strategy Pattern con Python y setprocessor
01:55 min - 16

Strategy Pattern para pagos en Python
10:58 min - 17

Factory Pattern: centralizar creación de objetos
03:04 min - 18

Patrón Factory para procesar pagos con match
11:06 min - 19

Qué es el patrón Decorator
03:06 min - 20

Patrón decorador en servicios de pagos
12:57 min - 21

Builder Pattern: construcción paso a paso
01:28 min - 22

Builder Pattern aplicado a un servicio de pagos
18:54 min - 23

Observer Pattern en sistemas de eventos
01:48 min - 24

Observer en sistemas de pagos con Python
11:11 min - 25

Chain of Responsibility para validar pagos
02:04 min - 26

Chain of Responsibility en servicios de pagos
16:27 min - 27

Código funcional vs código mantenible en Python
03:19 min
Patrones de diseño y SOLID en Python
Resumen
Aprende a construir un sistema de pagos en Python aplicando patrones de diseño y principios SOLID para ganar mantenibilidad, flexibilidad y escalabilidad. Estas prácticas, con décadas de uso profesional, mejoran las pruebas unitarias y de integración, optimizan el rendimiento y elevan la experiencia de desarrollo.
¿Por qué aprender patrones de diseño y principios SOLID?
Durante más de 30 años, los patrones de diseño han puesto orden al caos del código; por su parte, los principios SOLID llevan 20 años manteniendo a los programadores felices. Son soluciones probadas a problemas comunes que estandarizan decisiones y evitan reinvertar la rueda.
- Mejoran la mantenibilidad: el código se entiende y cambia con menos fricción.
- Aumentan la flexibilidad: facilitan extender sin romper.
- Escalan mejor: permiten crecer con orden.
- Facilitan pruebas unitarias y de integración: verificas con mayor confianza.
- Mejoran el rendimiento: promueven decisiones de diseño más eficientes.
- Elevan la experiencia de desarrollo: trabajar se vuelve más claro y agradable.
¿Qué analogía ayuda a entender su rol en el proyecto?
Imagina la base de código como una ciudad. Los patrones de diseño son los planos que definen cómo se construye. Los principios SOLID son las leyes que la mantienen en orden. Juntos sostienen el mundo del desarrollo de software.
¿Qué los hace útiles por décadas?
Se han desarrollado, entendido y refinado durante años. Por eso se recomiendan: porque funcionan en escenarios reales y evitan errores comunes.
¿Cómo se aplicarán en un procesador de pagos en Python?
Se construirá un procesador de pagos en Python como hilo conductor. La idea es partir de una base funcional que incumple SOLID y patrones, y transformarla paso a paso hasta un sistema robusto.
- Base inicial: código funcional con malas prácticas intencionales.
- Iteración: aplicar cada patrón de diseño y principio SOLID gradualmente.
- Resultado: un sistema de procesamiento de pagos mejor estructurado y mantenible.
¿Qué metodología y retos se proponen?
A lo largo de las sesiones habrá retos para resolver en la sección de comentarios. De esas respuestas nacerán nuevas discusiones y mejoras incrementales para consolidar el aprendizaje.
¿Cómo se verá el progreso del proyecto?
Se trabajará con un repositorio en GitHub donde se registrarán las mejoras incrementales del sistema. Así se evidencian los cambios entre una versión y otra.
¿Qué necesitas para empezar con Python y el repositorio?
Se sugiere una base sólida de Python y un entorno de desarrollo preparado para seguir el proyecto y ejecutar pruebas.
- Curso de Python básico en Platzi: recomendado como base del lenguaje.
- Curso de pruebas unitarias en Python: opcional, útil para verificar lo desarrollado.
- Entorno de desarrollo: editor, manejador de paquetes como Pip, UV o Poetry.
- Entorno virtual de dependencias: aislar librerías por proyecto.
- Control de versiones: git y una cuenta en GitHub.
¿Quién guía el aprendizaje?
Eduardo Álvarez, Senior Backend Engineer en Platzi, lidera el proceso y marca el ritmo para que apliques teoría en código real.
¿Listo para transformar tu forma de programar? Comparte tus dudas y soluciones en los comentarios para alimentar las próximas discusiones.