Skip to content

UTN-FRD/patrones-creacionales

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Patrones de Diseño Creacionales

Este proyecto contiene ejemplos implementados en Python para los principales patrones de diseño creacionales. Cada patrón se encuentra en su propio módulo y se puede ejecutar desde el archivo main.py.

El proyecto tiene un Dockerfile y un docker-compose por si no se tiene instalado un entorno de programación Python. Sino no es necesario levantar el contenedor.

🧰 Requisitos

  • Docker y Docker Compose instalados.

▶️ Cómo ejecutar

Desde la raíz del proyecto, correr:

docker-compose up --build

Esto construirá el contenedor y ejecutará el archivo main.py, el cual demuestra todos los patrones uno por uno.


📦 Estructura

.
├── Dockerfile
├── docker-compose.yml
└── app/
    ├── main.py
    ├── factory_method/
    ├── abstract_factory/
    ├── builder/
    ├── singleton/
    └── prototype/

📘 Patrones incluidos

🏭 Factory Method

  • Define una interfaz para crear un objeto, pero deja que las subclases decidan qué clase instanciar.
  • Ruta: factory_method/
  • Ejecuta: CreadorCamion, CreadorBarco

🛋 Abstract Factory

  • Provee una interfaz para crear familias de objetos relacionados sin especificar sus clases concretas.
  • Ruta: abstract_factory/
  • Ejecuta: FabricaModerna, FabricaVictoriana

🧱 Builder

  • Permite crear objetos complejos paso a paso.
  • Ruta: builder/
  • Ejecuta: Director construyendo una casa con ConstructorModerno

🧭 Singleton

  • Asegura que una clase tenga una única instancia y proporciona un punto de acceso global a ella.
  • Ruta: singleton/
  • Ejecuta: Configuracion como instancia única

🧬 Prototype

  • Permite copiar objetos existentes sin depender de sus clases concretas.
  • Ruta: prototype/
  • Ejecuta: clonación de Circulo y Rectangulo

🎯 Objetivo de la práctica

Explorar y modificar los ejemplos para entender cómo se implementan estos patrones y cómo se aplican en contextos reales. Cada patrón está diseñado para ser fácilmente extendido o modificado.


💡 Sugerencias para actividades en clase

  1. Agregá un nuevo tipo de transporte (Ej: avión) en Factory Method.
  2. Sumá una nueva familia de muebles (Ej: Estilo Minimalista) en Abstract Factory.
  3. Incorporá nuevas partes en la casa (pileta, garage) usando Builder.
  4. Cambiá el estado global en Singleton y verificá su persistencia.
  5. Extendé el sistema de formas en Prototype para admitir Triángulo.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published