Correcto. El código que incializa "b" solo involucra copiar la referencia 
contenida en "a" y que apunta al objeto creado previamente.

Saludos,

Fernando Tubio
  ----- Original Message ----- 
  From: Pablo A. Allois 
  To: [email protected] 
  Sent: Tuesday, September 11, 2007 10:33 AM
  Subject: [puntonet] Proclama para salvar instancias


  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 
    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

Responder a