Este proyecto tiene como objetivo implementar ejemplos de patrones de diseño en TypeScript con fines educativos, organizados en un monorepo utilizando Turborepo, y tests con Jest.
design-patterns/
├─ packages/
│ ├─ facade/ # Patrón Facade
│ ├─ adapter/ # Patrón Adapter
│ ├─ interpreter/ # Patrón Interpreter
│ ├─ template-method/ # Patrón Template Method
│ └─ chain-responsibility/ # Patrón Chain of Responsibility
├─ turbo.json
├─ package.json
└─ tsconfig.json
Cada paquete en packages/ contiene:
- Implementación del patrón
- Tests unitarios con Jest
- Su propio
package.json
git clone https://github.com/Santserrano/design-patterns.git
cd design-patterns
npm installDesde la raíz:
npm run testTambién podés correr los tests de un paquete específico, por ejemplo:
cd packages/facade
npm testCada uno trabaja en su propio patrón, en una rama separada. Ejemplo para trabajar en la rama del patrón "adapter".
git checkout feature/adapter #Para cambiar a la rama- Escribir el código del patrón
- Agregar al menos 1 test con Jest
- Confirmar que los tests pasen (
npm testdentro del paquete)
git push origin feature/facadeDesde GitHub, crear un Pull Request hacia main.
Se revisa la PR y verifica con GitHub Actions.
Una vez aprobado, se puede hacer el merge a la rama main.
- 💡 Proyecto realizado para la cátedra de Ingeniería de Software II
- 👨💻 Integrantes: G Enzo, Jeuel E Linder, Juan, Santiago.
| Patrón | Responsable |
|---|---|
| Facade | Jeuel |
| Adapter | Enzo |
| Interpreter | Gualtieri |
| Template Method | Serrano |
| Chain of Responsibility | --------- |