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 27-03-2009
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 16
noob Va por buen camino
Una aplicación con varios estados

Hola, me gustaría diseñar de forma óptima una aplicación con varios estados, por ejemplo Autenticado, Conectado, Desconectado.

Tengo una clase manejador de conexión que "conoce" cuando la comunicación está establecida (está conectado a un servidor) o no establecida (desconectado de un servidor) por otro lado tengo otra clase que "conoce" cuando el cliente está autenticado.

Me gustaría saber cómo puedo implementar de forma óptima está aplicación con estados.

He pensado en usar el patrón de diseño del observador donde el formulario principal es el observador de la conexión y de la otra clase que "conoce" cuando el cliente está conectado, de modo que cuando exista un cambio de estado en el manejador de conexión en la otra clase se notifique al formulario haciendo que este se actualice como corresponda.

El problema que veo es que no se cómo diseñar las clases sujeto y observador, no se si tengo que hacer interfaces (clases totalmente diferidas) o vale sólo con llamar al Form1.Actualizar desde cada método que detecte un cambio de estado en los sujetos observados.

Tengo esto:

Código Delphi [-]
procedure TManejadorConexion.ComunicacionEstablecida;
begin
  ...
  Form1.Actualizar('Conectado');
  ...
end;

...

procedure TManejadorConexion.ComunicacionFinalizada;
begin
  ...
  Form1.Actualizar('Desconectado');
  ...
end;

...

procedure TOtraClase.ClienteAutentificado;
begin
  ...
  Form1.Actualizar('Autenticado');   
  ...
end;

...

procedure TForm1.Actualizar(Mensaje: String);
begin
  ... 
  ShowMessage(Mensaje);
  ...
end;

Pero creo que no estoy aplicando bien el patrón porque las clases no heredan de interfaces.

¿Me echáis un cable?

Saludos y gracias.
Responder Con Cita
  #2  
Antiguo 21-04-2009
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Thumbs down ¿en que estado está la aplicación?

Buenas!

Para empezar. Estarías hablando de que la aplicacion muestre varios Estados de conexión a una red o servidor.

Porque el termino "una aplicacion con varios estados" es muy amplio. Por ej el estado de una aplicación puede ser Maximizado o Minimizado. Pero no hablas de ese estado.

Y por lo que comentas si tienes una clase para saber si el servidor esta conectado y para saber si esta autenticado. No veo que falte nada.

Solo tienes que armar tu aplicación y en algún procedimiento tienes que controlar los estados cuando lo necesites.

¿Que quieres que haga tu aplicación? Porque no será sólo para decirle a la gente Usted esta Conectado y autenticado?. Por ej yo uso algo similar para manejar las actualizaciones de mis sistemas. Si está conectado dejo acceder a las actualizaciones, caso contrario lo notifico.

Suerte.

Y si quieres ayuda podrías ser más explícito. Imagino que por eso nadie ha respondido.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicación con varios archivos Alexander Varios 8 08-11-2007 15:15:22
Aplicación en varios idiomas. Killo Varios 11 17-03-2007 17:40:45
Castigos Ejemplares, solo en Estados Unidos ContraVeneno La Taberna 1 08-02-2007 00:25:14
Estados Unidos bloquea Internet en Cuba JoeyJordison Noticias 10 30-01-2007 02:16:12
Varios iconos en mi aplicacion jealousy Gráficos 2 23-10-2003 23:11:08


La franja horaria es GMT +2. Ahora son las 13:52:57.


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