2009-08-02 9 views
5

Cuando queremos implementar la aplicación web, ¿debemos usar Singleton Object o usar Static en lugar de? ¿cuál es el cuello de botella para usar cada uno de ellos? Debería conocer el problema de la memoria, el problema de simultaneidad y ...Singleton frente a la Preferencia estática y el defecto

PD: lo que sucede para la clase que era sólo lectura (debe utilizar estática o Singleton)

PS 2: lo que sucede para la clase que se puede leer y escribir

Respuesta

3

Al final parece que en su caso funcionarán tanto los métodos únicos como los estáticos. Lo tomo en ambos casos sus métodos de ayuda son puros y no usan ni necesitan ningún estado. Al final, usar un singleton te brinda algunas opciones adicionales, como la posibilidad de simular. Al utilizar una clase en lugar de asistentes estáticos, existe la posibilidad de evolucionar el diseño o quizás sustituir una estrategia diferente, etc., en algún momento en el futuro. Con los ayudantes estáticos estás muy atascado.

Dado que sus métodos son de pura simultaneidad, no serán ni pueden ser un problema ya que no se comparte ningún estado.

+0

correcto, pero si uso el método estático en mi aplicación web ¿es posible que encuentre un problema más adelante? donde leo que es mejor no usar estática en la aplicación web. – Am1rr3zA

2

estática: Una sola instancia compartida entre todos los hilos: cualquier acceso al miembro estático dará como resultado la misma instancia. No hay restricciones para crear otras instancias de del mismo tipo.

Singleton: una sola instancia para toda la aplicación. No se pueden crear otras instancias de este tipo dentro de la aplicación.

+0

Una clase "todo estática" es extraña. No hay "cosa" representada por una instancia de la clase. Si no hay "cosa", ¿por qué tener una definición de clase en primer lugar? –

+1

Quise decir "instancia estática" no "toda clase estática". Sin embargo, una clase totalmente estática tiene algún uso para fines de organización. –

Cuestiones relacionadas