Este proyecto es una colección de ejercicios implementados en Python para demostrar el uso de diferentes patrones de diseño de software. Cada patrón se presenta como un subprograma independiente dentro de la estructura del proyecto.
- Singleton: Se implemento un ejemplo para gestionar una única instancia de conexión a la base de datos.
- Abstract Factory: Se implemento una fábrica para crear instituciones públicas y privadas.
- Adapter: Proporciona una interfaz para traducir textos entre diferentes idiomas.
- Decorator: Se creo funcionalidad que permite crear Helados y controlar los topings y salsas aplicados.
- Observer: Se implemento un ejemplo que notifica sobre cambios de precios en un producto
.
├── README.md
├── abstract_factory
│ ├── CreateInstitutionInterfaces.py
│ ├── Institution.py
│ ├── __init__.py
├── adapter
│ ├── TranslationInterface.py
│ ├── TranslatorAdapter.py
│ ├── __init__.py
├── decorator
│ ├── IceCream.py
│ ├── IceCreamDecorators.py
│ ├── __init__.py
├── main.py
├── observer
│ ├── Observer.py
│ ├── PriceAlert.py
│ ├── Product.py
│ ├── Subject.py
│ ├── __init__.py
│ └── helpers.py
├── requirements.txt
└── singleton
├── DatabaseConnection.py
├── FakeConnect.py
├── __init__.py
Ejecute el main.py y siga las instrucciones del menu en la consola.
![Screenshot 2024-03-31 at 4 59 42 PM](https://private-user-images.githubusercontent.com/27745159/318304024-69bbeef4-6a76-4438-9eac-7fa37e6c06ff.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxODI3OTEsIm5iZiI6MTcyMjE4MjQ5MSwicGF0aCI6Ii8yNzc0NTE1OS8zMTgzMDQwMjQtNjliYmVlZjQtNmE3Ni00NDM4LTllYWMtN2ZhMzdlNmMwNmZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDE2MDEzMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZiZWU5ODAyMTU2MDVlYmFkNjdjMjNiZmI4ZTEzY2I4ZDMyNTQ2MmU1YjhiMjQyNDJlOGNjOGM0YjQ5YThmMzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.53jxLyguwH45JSBXtlaFeicHg9X6oduHfSUM--W3z0k)
Asegúrese de tener instalado Python 3.6 o superior. Todas las dependencias requeridas se encuentran en requirements.txt
. Instálelas usando el siguiente comando:
pip install -r requirements.txt