-
Notifications
You must be signed in to change notification settings - Fork 0
Ubicacion
Melina Aguilar edited this page Jul 3, 2025
·
3 revisions
La clase Ubicacion es un value object que representa la posición física de una butaca en el cine, encapsulando las coordenadas de fila, columna y referencia a la butaca.
- Encapsular coordenadas de posición (fila, columna).
- Mantener referencia al número de butaca.
- Proporcionar métodos de acceso y modificación controlados.
- Servir como value object para posicionamiento.
| Atributo | Tipo | Propósito | Rango |
|---|---|---|---|
fila |
int | Número de fila en la sala | 1-12 |
columna |
int | Número de columna en la sala | 1-12 |
butaca |
int | Número identificador de la butaca | Variable |
ubicacion = Ubicacion(6, 8, 45)
fila = ubicacion.get_fila() # 6
columna = ubicacion.get_columna() # 8
butaca = ubicacion.get_butaca() # 45Fuente: Ubicacion.py:12-13
ubicacion.set_fila(7) # Cambiar fila
ubicacion.set_columna(9) # Cambiar columna
ubicacion.set_butaca(50) # Cambiar número de butacaFuente: Ubicacion.py:16-17
def __str__(self):
return f"Ubicacion(fila={self.fila}, columna={self.columna}, butaca={self.butaca})"Fuente: Ubicacion.py:33-34
graph TD
CineServices["CineServices
_solicitar_ubicacion"] --> UbicacionNode
ButacaDAO --> UbicacionNode
UbicacionNode["Ubicacion - Value Object
- fila: int
- columna: int
- butaca: int
+ get_fila
+ get_columna"]
UbicacionNode --> Butaca["Butaca
- ubicacion: Ubicacion"]
- Con Butaca: Encapsula la posición física de cada butaca.
-
Con CineServices: Utilizado en
_solicitar_ubicacion()para capturar coordenadas del usuario. - Con ButacaDAO: Persistencia y consultas de ubicaciones de butacas.
- Representa un concepto de valor sin identidad propia.
- Encapsula coordenadas relacionadas en una sola estructura.
- Proporciona inmutabilidad conceptual para posiciones.
- Métodos getter/setter para acceso controlado.
- Representación textual clara para debugging.
- Separación clara entre datos y comportamiento.
Ambos tipos (FormatoPelicula y Ubicacion) demuestran diferentes enfoques en el diseño de tipos de dominio: FormatoPelicula como enumeración con manejo robusto de errores y Ubicacion como value object simple pero efectivo para encapsular coordenadas.
⬅️ Inicio | Guía General del Sistema | Referencia Técnica | Guía para Desarrolladores ➡️
💾 Repositorio: Capybara Films en GitHub
© 2025 Capybara Films — Desarrollado por Carpinchos Programando
💾 Repositorio: Capybara Films en GitHub
© 2025 Capybara Films — Desarrollado por Carpinchos Programando
- 🏗️ Arquitectura del Sistema
- 📄 main.py
- 📁 data/
- 📁 daos/
- 📁 domain/entities/
- 📁 domain/entities/types
- 📁 services/
- ⚙️ Cómo Instalar y Ejecutar el Proyecto
- 🛠️ Cómo contribuir
- 🧪 Probar el Sistema Paso a Paso
- 🐞 Errores Comunes y Soluciones