RE: Duda sobre modelo estático
"voqpasa2001" <[email protected]>
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Message-ID | <[email protected]> |
Hola de nuevo, nadie me echa un cable?? --- En [email protected], "voqpasa2001" <ppppppjava@...> escribió: > > Buenos días a todos, quería haceros una pregunta sobre clases > estáticas a ver si alguien me lo puede aclarar, a ver si me explico > correctamente: > > Estoy utilizando DAO´s, de tal manera que mi esquema de clases es el > siguiente: > > Tengo una interfaz (la interfaz DAO) > Una implementación de esa interfaz. > > Y ahora tengo una clase que administra esa interfaz y sirve de punto > de entrada para la capa de negocio. > Aquí es donde empiezan mis dudas, esta clase Admin, es estática. > Tiene una variable estática que es precísamente la interfaz DAO. > Todos sus métodos son estáticos, además el método que crea la primera > vez la interfaz es síncrono. > > > El funcionamiento es el siguiente: > > Cuando se llama a un método estático de Admin, primero compruebo si la > interfaz DAO es nula, si lo es (lo será la primera vez solo), llamo al > método síncrono, que lo que hace es utilizar una factoría que me crea > un nuevo objeto que implementa esta interfaz y se lo asigna a mi > interfaz. (variable (estática) de clase de la clase Admin). > Posteriormente, lo que se hace es invocar al método en cuestión de la > interfaz con sus parámetros correspondientes. > > Mi duda es la siguiente, es posible que tenga problemas de > sincronización y que un hilo se "mezcle" con otro a la hora de > solicitar la interfaz?. Es decir, imaginaos que hago un create, que lo > que hace es insertar determinada información de un bean en la BD, si > dos hilos a la vez llaman al create (situación mas que posible), > habría alguna posibilidad que se "mezclara" la información de esos > bean?, vamos que el bean de un create, pasase a ser el bean del otro > create. > Se que siempre y cuando se utilice simplemente el método estático y no > ninguna variable estática, no tiene pq haber problemas, pero es que > precísamente una de las variables de clase de mi clase Admin, es > precísamente la interfaz (solo existirá una). > > Veríais mejor que cada vez que se llame a un create desde Admin, que > haga un new de la implementación de la interfaz?? > > Disculpar el rollo, pero quería intentar explicarme de lo mejor > posible, no se si habrá sido peor. > > Un saludo >