Exacto. La ventaja del uso del with ...end with no es que evita la creacion
de mas de una instancia (ya que esto no ocurre), sino que hace que el acceso
a la referencia de la instancia sea mas rapida.



  -----Mensaje original-----
  De: [email protected] [mailto:[EMAIL PROTECTED] nombre de Fernando
Tubio
  Enviado el: martes, 11 de septiembre de 2007 10:10
  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



  __________ Información de NOD32, revisión 2521 (20070911) __________

  Este mensaje ha sido analizado con NOD32 antivirus system
  http://www.nod32.com

Responder a