Estoy trabajando en un motor de juego lil en C++, y decidí hacerlo todo OOPily (uso intensivo de clases) Está destinado a ser (teóricamente) cruzado plataforma, entonces tengo una clase 'Engine', una instancia de la cual es creada por 'OS Module', que es WinMain para Windows (la plataforma en la que estoy desarrollando).C++ - Instancia de clase local única para toda la duración del programa
Tengo tres preguntas principales :
¿se considera una mala práctica para crear una clase que sólo se va a crear una instancia una vez en toda la aplicación? ¿Tal vez porque hay algún tipo de impacto en el rendimiento o gastos generales añadidos incurridos al usar una clase en lugar de un conjunto de funciones?
He estado planeando que WinMain cree la instancia de Engine como variable local. La clase Engine será bastante grande, con clases para rendering, análisis de scripts, material del sistema de archivos, etc. Básicamente, todo el motor del juego, aparte del código específico del SO, estará contenido en la clase Engine de alguna forma (posiblemente como una instancia de otra clase.) ¿Es una mala idea crear una instancia local de mi gran clase Engine dentro de la función WinMain? ¿Es una mala idea crear una instancia local cuando se creará la clase cuando se inicia el programa, y finalizará cuando termine el programa? Tal vez nuevo sería mejor?
Mi plan (i/wa) s para dividir el motor en 'módulos', cada uno de los cuales está representado por una clase. La clase Engine contendría una instancia de casi todos los otros módulos, como, como se mencionó anteriormente, rendering, interacción del sistema de archivos, etc. ¿Es una mala idea utilizar clases como contenedores para módulos grandes desde cierta perspectiva (rendimiento, diseño, legibilidad?)
Gracias por cualquier ayuda :)
Esta no es la mejor pregunta que se haya hecho o escrito, pero en comparación con algunas cosas aquí, ¡es Shakespeare! ¿Por qué downvote? –