Estoy programando un juego en Python, donde todas las actividades IO son realizadas por un objeto IO (con la esperanza de que sea fácil intercambiar ese objeto por otro que implemente una interfaz de usuario diferente). Casi todos los demás objetos del juego necesitan acceder al sistema IO en algún momento (por ejemplo, imprimir un mensaje, actualizar la posición del jugador, mostrar un efecto especial causado por una acción en el juego), así que mi pregunta es la siguiente:Programación de juegos Python: ¿mi objeto IO es un candidato legítimo por ser una variable global?
¿Tiene sentido que una referencia al objeto IO esté disponible globalmente?
La alternativa es pasar una referencia al objeto IO en el __init__()
de cada objeto que necesita usarlo. Entiendo que esto es bueno desde el punto de vista de la prueba, pero ¿vale la pena la resultante "contaminación de la firma funcional"?
Gracias.
Espero que realmente cambie su objeto IO por uno que proporcione una implementación diferente a la misma interfaz. :) – chaos
Sí, debería haber sido más claro; Usé la interfaz de la palabra para referirme a la interfaz de usuario :) –
@James: por favor, arregle su pregunta. –