Exacto Pablo, una sola instancia, dos referencias a esa instancia. Daniel PD: Que tiene que ver con lo anterior?? :))
El día 11/09/07, Pablo A. Allois <[EMAIL PROTECTED]> escribió: > > dim a as object > dim b as object > > a = new object > b = a > > Hay una sola instancia. > Pero hay dos variables guardando punteros a la misma instancia .. no ? > > ------------------------------ > *De:* [email protected] [mailto:[EMAIL PROTECTED] *En nombre de *Fernando > Tubio > *Enviado el:* Martes, 11 de Septiembre de 2007 10:10 a.m. > *Para:* [email protected] > *Asunto:* [puntonet] Proclama para salvar instancias > > Esto es incorrecto, se trata siempre de una misma referencia. Usar la > misma variable, u otra que contenga una referencia al mismo objeto, varias > veces para acceder a distintas propiedades del objeto al cual hace > referencia dicha variable, no involucra la creación de nuevos objetos > o algún tipo de ineficiencia. En el caso que describís, "Texto1" contiene > una referencia a un objeto que ya fue creado previamente. > > Saludos, > > Fernando Tubio > > ----- Original Message ----- > > *From:* Gastón Dorigo <[EMAIL PROTECTED]> > *To:* [email protected] > *Sent:* Monday, September 10, 2007 3:09 PM > *Subject:* [puntonet] Proclama para salvar instancias > > *Gracias por tu observación, ahora que hago un poco más de memoria, > recuerdo que el concepto era la siguiente.* > > * * > > *El el caso de * > > *Texto1.text = "Hola" el procesador crea una referencia al objeto y lee el > atributo* > > *Si luego agrego * > > *Texto1.tag = 0 el procesador vuelve a crear otra instancia de texto1 para > leer el atributo tag* > > *En cambio con with // end with el procesador crea una única instancia y > accede a la misma para todos los atributos/metodos/eventos que se invoquen > en el bloque.* > > * * > > *Espero sus comentarios* > > *Saludos …* > > * * > ------------------------------ > > *De:* [email protected] [mailto:[EMAIL PROTECTED] *En nombre de *Juan > Granillo > *Enviado el:* Lunes, 10 de Septiembre de 2007 11:22 a.m. > *Para:* [email protected] > *Asunto:* [puntonet] Proclama para salvar instancias > > > > Hola Gaston, > > > > Recuerdo bien esa charla de seara en el Heraton. Mas alla de quedar un > poco mas prolijo, la ventaja principal es que el procesador mantiene la > referencia al objeto "a mano" (si me permiten la expresion), y no necesita > buscarla para la ejecucion de cada metodo. > > Saludos > > > > Juan > > > > -----Mensaje original----- > *De:* [email protected] [mailto:[EMAIL PROTECTED] nombre de *Gastón > Dorigo > *Enviado el:* viernes, 07 de septiembre de 2007 18:36 > *Para:* [email protected] > *Asunto:* [puntonet] Proclama para salvar instancias > > *Muy buena la idea de la proclama, me sumo con una consulta:* > > *Hace un tiempo en un evento en el Hotel Sheraton, Daniel Seara explicaba > las ventajas de utilizar el bloque with / end with, por ejemplo* > > * * > > *WITH textbox1* > > * .text = "texto"* > > * .tag = 0* > > * . etc…* > > * END WITH* > > * * > > *La consulta es porque no recuerdo ni puedo deducir cuales son los motivos > que validan esta afirmación, si alguien recuerda o me puede ayudar a deducir > una justificación válida se lo agradecería porque varios alumnos me lo han > consultado y todavía estoy buscando una respuesta razonable.* > > * * > > *Saludos.* > > * * > ------------------------------ > > *De:* [email protected] [mailto:[EMAIL PROTECTED] *En nombre de *Damián > Herrera > *Enviado el:* Viernes, 07 de Septiembre de 2007 06:01 p.m. > *Para:* [email protected] > *Asunto:* [puntonet] Proclama para salvar instancias > > > > Ya que estamos, yo también me sumo a la proclama!!! > > > > Por todos los medios posibles evitar la siguiente estructura de código: > > > > Try > > ... > > ... > > Catch ex As Exception > > Throw(ex) > > ... > > End try > > > > Esto es lo mismo que no capturar el error, en lugar de hacer esto no hagan > nada! Se van a ahorrar tiempo de procesamiento :) Si no, asegurense de > hacer los rollbacks o cancelar la operación antes de la línea "Throw(ex)". > > > > > > Feliz fin de semana! > > Damián Herrera > > ------------------------------ > > *From:* [email protected] [mailto:[EMAIL PROTECTED] *On Behalf Of *Diego > Jancic > *Sent:* Friday, September 07, 2007 5:44 PM > *To:* [email protected] > *Subject:* [puntonet] Proclama para salvar instancias > > Hola gente!, > > > > Estoy modificando un programa que hicieron muchos programadores (incluidos > semi-seniors y seniors), y me canse de ver algunas cosas sin sentido. > > Por ese motivo estoy realizando esta proclama general, para que si alguien > lo hace, lo evite la proxima vez. ;-) > > > > Cuando tenemos un codigo de este estilo: > > * * > > *MiClase instancia = new MiClase();* > > * * > > *instancia = UnServicio.ObtenerDesdeBD( … );* > > > > En ese caso, se estan creando 2 objetos cuando se deberia crear uno… > Fijense que la 2da linea sobrescribe completamente la primera!! > > Y para agravar el problema, el metodo *UnServicio.ObtenerDesdeBD* hace > algo con el parecido pero llamando a la base de datos o a un WS o a donde > sea. > > Entonces se termina creando una instancia por capa, cuando en realidad se > necesita una sola (o ninguna si el metodo devuelve null) > > > > Espero haberles ahorrado aunque sea 1 segundo de procesamiento en todo el > tiempo de vida de su aplicación. > > > > Bueno, esto fue una pequeña contribución a todos ellos que por costumbre > repiten estas cosas desde hace mucho tiempo (*ojo, hace bastante yo > tambien lo hacia!*). > > > > Saludos y Happy Programming!, > > Diego > > > > __________ Información de NOD32, revisión 2513 (20070907) __________ > > Este mensaje ha sido analizado con NOD32 antivirus system > http://www.nod32.com > > > > __________ Información de NOD32, revisión 2519 (20070910) __________ > > Este mensaje ha sido analizado con NOD32 antivirus system > http://www.nod32.com > > -- Daniel A. Calvin Cooperator Team Member http://www.cooperator.com.ar Microsoft Certified Professional
