Open minsoos opened 3 years ago
Hola @minsoos, si te refieres a guardar una ventana como un atributo de otra, no es una muy buena práctica, ya que, es fácil que llames a los métodos desde la clase que la contiene y no con un adecuado uso de señales. Te recomiendo instanciarlas separadamente en un módulo como main.py
y ahí conectar sus señales.
Éxito con tu tarea!
Hola! Disculpa, de casualidad es una mala practica muy grave? Es que me he estado basando bastante en la estructura de la AF7, no tengo ventanas dentro de otras pero si tengo ventanas dentro de una clase controladora, como en la AF7
Hola @Pabloski100 si utilizas un código similar al de la AF7 no deberías tener problemas, fíjate en que uses bien las señales cuando corresponda, ya qué hay un descuento asociado a eso. Te recomiendo referenciar la actividad en tu readme para que el o la ayudante que corrija tu tarea lo tenga en consideración
Éxito con tu tarea 😃
Siempre que haya dos instanciaciones, por ejemplo entre el controlador y la ventana, tiene que ser mediante señales? a pesar de que por ejemplo la ventana pueda ser atributo del controlador? o en este caso sí se puede llamar directamente al método? Gracias por tu respuesta
Hola @minsoos, lo más recomendable es que sea a través de un uso de señales, ya que, un controlador se encarga de manejar la lógica y la ventana solo de representar la interfaz gráfica. Por tanto, si el controlador llama directamente a una función de una clase ventana, tampoco estarías cumpliendo con una adecuada separación entre backend y frontend.
Prerrequisitos
(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")
Duda
Hola, tenía la duda de en qué situaciones es mala práctica instanciar objetos dentro de otros. Por ejemplo, ¿es mala práctica instanciar una ventana dentro de otra? ¿Lo sería por ejemplo para el controlador del juego? que se instanciase como se hace en la AF7? donde incluye la instanciación de todas las ventanas En general, quiero saber cuándo se puede hacer y cuándo no. Gracias de antemano :)