<div dir="ltr">Hola.<div><br></div><div>Sé que esta pregunta se ha respondido en muchos foros, así que disculparme por ser un poco reiterativo.</div><div><br></div><div>Estoy desarrollando un prototipo de motor de videojuegos obviamente super sencillo.</div><div><br></div><div>De momento tengo una clase " <font color="#3d85c6">Engine </font>" en la que guardo un puntero a las clases principales de la aplicación :</div><div><br></div><div>Clase " <font color="#3d85c6">Window </font>", " <font color="#3d85c6">Render </font>", " <font color="#3d85c6">Resources </font>", etc.....</div><div><br></div><div>De esta forma, a través de " <font color="#3d85c6">Engine </font>" puedo acceder a cualquier otra clase.</div><div><br></div><div>Pero obviamente, las demás clases tienen que poder acceder a la instancia de " <font color="#3d85c6">Engine </font>".</div><div><br></div><div>De momento simplemente, construyo todas las clases pasándoles una puntero a la instancia de " <font color="#3d85c6">Engine </font>".</div><div><br></div><div>Pero en este tipo de casos, cuál creen ustedes que es la mejor opción ?</div><div><br></div><div>¿ <font color="#3d85c6">Singleton </font>por ejemplo ????</div><div><br></div><div>Gracias y un saludo desde Madrid.</div></div><div class="gmail_extra"><br><div class="gmail_quote">El 22 de abril de 2015, 21:01, Miguel Ángel Torres Fernández-Píñar <span dir="ltr"><<a href="mailto:miguelangeltorresfp@gmail.com" target="_blank">miguelangeltorresfp@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">guauuuuuuu, Steven, muy buena explicación como siempre.<div><br></div><div>Saludos.</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">El 22 de abril de 2015, 16:34, Davidson, Steven <span dir="ltr"><<a href="mailto:srd4121@njit.edu" target="_blank">srd4121@njit.edu</a>></span> escribió:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hola Miguel Ángel,<br><div class="gmail_extra"><br></div><div class="gmail_extra">En general, la gran ventaja de los punteros inteligentes es que protegen contra las fugas de memoria. No existen muchas desventajas, pero una posible desventaja importante puede ser un mayor tiempo de ejecución, y por tanto una demora significante, al igual que el uso de más memoria. Dependiendo del tipo de puntero inteligente, se usará un contador de referencias, por lo que requiere algo más de memoria y algunas sentencias más para gestionar este dato.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Como siempre, depende de los requisitos del programa. Si el proyecto impone una optimización del tiempo de ejecución, entonces usar algún tipo de puntero inteligente no sea la mejor solución. Este caso daría lugar a crea un diseño basado en punteros directos, pero obviamente con cautela. Si el proyecto es bastante grande o complejo, entonces los punteros inteligentes pueden ayudar muchísimo, ya que no dedicaríamos tiempo a buscar fugas de memoria ni "taparlas", porque este proceso se automatizaría. Tampoco significa que todo el proyecto debe basarse en punteros inteligentes, ni tampoco que todos deben ser del mismo tipo. Hay que mirar los requisitos de cada tipo de puntero inteligente y sopesar los factores importantes.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Como es la norma, no existe una forma única de hacer las cosas. Hay que tomar decisiones según nos interese; hay que elegir la herramienta que mejor nos compense para el problema que tenemos entre manos.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Espero que esto vaya aclarando el tema.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Steven</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-04-22 3:18 GMT-04:00 Miguel Ángel Torres Fernández-Píñar <span dir="ltr"><<a href="mailto:miguelangeltorresfp@gmail.com" target="_blank">miguelangeltorresfp@gmail.com</a>></span>:<span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Muchas gracias Steven como siempre.<div><br></div><div>Poco a poco me voy aclarando.</div><div><br></div><div>Quizás me falte ver ahora en qué casos pudiera ser contraproducente usar punteros inteligentes, porque de momento parece que todo son ventajas.</div></div></blockquote></span></div></div></div>
<br></div></div><span class="">_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></span></blockquote></div><br></div>
</blockquote></div><br></div>