Foros del Web » Programación para mayores de 30 ;) » Java »

¿Organización correcta de las clases?

Estas en el tema de ¿Organización correcta de las clases? en el foro de Java en Foros del Web. Hola, no sé si estoy organizando las clases de mi proyecto de manera correcta. Os comento un poco por encima como lo tengo puesto. La ...
  #1 (permalink)  
Antiguo 01/05/2009, 04:08
 
Fecha de Ingreso: abril-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Mensaje ¿Organización correcta de las clases?

Hola, no sé si estoy organizando las clases de mi proyecto de manera correcta. Os comento un poco por encima como lo tengo puesto.

La aplicación se trata de un applet en el cual hay 3 paneles. Cada panel son objetos de clases que heredan de JPanel. Os pongo un ejemplo de cómo está puesto:

Código:
public class MiApplet extends JApplet{ //Clase principal
        public int atrib1 = 0;

       class Panel1 extends JPanel(){
                ...

              //Se usa atrib1
        }

       class Panel2 extends JPanel(){
                ...
                public Panel2(){//Método constructor.
                           //Se usa atrib1
                }
        }

}
Panel1 y Panel2 son clases internas, usan atributos de la clase principal MiApplet. Tal como está ahora mismo las clases estan organizadas siguiendo la relación de composición.

¿Sería posible colocar Panel1 y Panel2 en ficheros a parte:Panel1.java y Panel2.java para no tener una clase Applet con todas las definiciones de cada panel? No sé si para usar los atributos de la clase principal, los debo pasar mediante el constructor de cada panel.

Un saludo

Última edición por Leunamal; 02/05/2009 a las 04:07
  #2 (permalink)  
Antiguo 03/05/2009, 02:54
 
Fecha de Ingreso: abril-2009
Mensajes: 82
Antigüedad: 15 años
Puntos: 2
Respuesta: ¿Organización correcta de las clases?

Buenas:

En teoria podrías pasarle el objeto en el constructor y las clases hijas podrían poder utilizar este objeto. El problema te puede surgir por la concurrencia de eventos, es decir, que si vas a estar modificando dicho atributo, puedes obtener resultados indeseables (que dos escriban a la vez y se guarde primero uno y despues el otro y cuando quieras recuperar el dato es una mezcla de ambas, o cosas así).

Yo te recomendaría mirarte algo de teoría de concurrencia, para evitar casos así. Pero siendo practicos esto es un poco tostón si no te gusta o no tienes ganas. Te recomiendo que crees una clase independiente en el que gestioines la concurrencia a los atributos a través de métodos con public synchronized ..... Esto evitará al menos que dos procesos entren en ese método a la vez. No es mucho pero algo es algo.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:31.