Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-12-2004
Joacko Joacko is offline
Registrado
 
Registrado: jul 2004
Posts: 7
Poder: 0
Joacko Va por buen camino
El Clasico discurso Anti "Variables Globales"

Gente, tengo una consulta para hacerles. Toda vez que comento el tema de la necesidad de usar una determinada Variable cuyo valor no se pierda en el transcurso de la aplicacion y que a su vez pueda ser usada en toda la aplicacion aparecen aquellos castigadores del empleo de dicha herramienta, condenando el uso de Variables Globales, tan solo con el fundamento de "Eso no se hace", de manera que, teniendo este espacio como lo tengo quisiera saber su opinion al respecto del uso de Variables Globales en Delphi, el porque de su poca recomendacion de uso, y las posibles variantes que hay para suplantar esta practica, ya que, en uno u otro momento de nuestras vidas como programadores Delphi, tarde o temprano necesitaremos de ellas... entonces... Como?????

Salu2
Responder Con Cita
  #2  
Antiguo 09-12-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile No a los fundamentalismos

¡Hola a todos!

Joacko:

Interesante cuestionamiento. Sería bueno que les preguntaras «¿por qué?» a los catigadores. Me atrevo a pensar que en algunos casos se trata de fundamentalismo informático. Es decir, llevar los dogmas de una ciencia al extremo de lo impráctico.

He visto cómo a veces se reclama que todo sea orientado a objetos, que así es como debe ser un buen lenguaje de programación. No obstante, quienes hemos recorrido cierto camino en los mundos de la programación estructurada y la orientada a objetos (POO), nos hemos percatado de por qué muchos buenos lenguajes como Delphi no llegan a ser 100% orientados a objetos. La respuesta es simple: practicidad.

En muchas ocasiones las variables globales nos ayudan a centrarlizar de forma sencilla y económica datos que utilizan varios módulos de un mismo proceso en ejecución. ¿De qué otra forma guardar estos datos?; ¿en un archivo?, ni pensarlo; ¿en una estructura Record global?, es prácticamente otra variable; ¿en memoria asignada dinámicamente?, sólo cuando la variable ocupe mucho espacio y se utilice pocas veces; ¿en un objeto?, si la balanza del costo-beneficio se inclina hacia ello (dos o más instancias de la clase; compatibilidad entre capas, procesos o bibliotecas, etc.).

Pero a final de cuentas cada caso es único. Te invito a que hagas de nuestro conocimiento los detalles de cualquier situación similar, para en su momento tratar de discernirla por los quienes podamos aportar alguna opinión o sugerencia al respecto.

Espero esto sea de utilidad, seguimos en contacto.

Al González.
No hay programadores indiferentes, sólo obsesivos, decepcionados o apasionados .
Responder Con Cita
  #3  
Antiguo 09-12-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo utilizo la siguiente lógica:
1º.- Si existen será para utilizarlas (lógica Cartesiana)
2º.- Si un módulo, va a llamar a otro y este último necesita conocer un valor, mejor crear una variable pública desde este módulo para que el resto llamados por él o por los que él llame puedan conocerla.
3º.- Si una variable la voy a necesitar en cualquier momento sin depender del módulo en que me encuentre, entonces creo una variable global.

Para ello tengo siempre una Unit, en la que tengo todas las funciones, procedimientos y variables que va a utilizar toda la aplicación.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 09-12-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Joacko
...tan solo con el fundamento de "Eso no se hace",
"Eso no se hace, si no es la forma correcta de hacerlo", pero cuando debas utilizarlas, no creo que exista nadie que se oponga, entre otras cosas porque hay cosas que no existe forma de hacerlas si no es así.

Lo incorrecto es utilizar una variable global, para algo que no "es global".

NOTA: ¿Te has fijado en el var que hay encima de la sección de implementación de un form?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:09:18.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi