Pregunta

Hace poco, en una entrevista de trabajo, se le pidió a un amigo mío que dijera la diferencia entre un singleton estándar y un singleton mono. Nunca antes había escuchado el término y una simple búsqueda en Google no arroja resultados significativos.

Mi amigo sugirió que es un objeto donde el constructor es público pero todos los miembros son estáticos. Esto me parece un poco tonto ya que simplemente sería un objeto estático que no requeriría un constructor en absoluto.

¿Alguien tiene una mejor definición de mono mono? ¿Es algo útil frente a un singleton estándar?

¿Fue útil?

Solución

Me imagino que en realidad significaban "Monostato". No voy a entrar en detalles ya que ahora son fácilmente googleables (junto con discusiones sobre la diferencia con Singletons).

Sin embargo, diré que los Monostates tienden a tener al menos todos los mismos problemas y Singletons y deben evitarse en la medida de lo posible (considerando otros enfoques, como Parameterise From Above , o inyección de dependencia, cuando corresponda).

Otros consejos

Sé que un " singleton " se puede modificar para admitir n instancias, donde n es un número fijo. Sin embargo, me enteré de que esto se llamaba un multiplicton o multiton (olvidé el nombre exacto, pero era similar a eso). Podría ser que el entrevistador quisiera llegar al punto en que se puede usar algo muy parecido al patrón de Singleton para lograr n instancias del objeto. Pero si ese es el caso, fue una forma incómoda de decirlo.

Hay exactamente un hit en google para " mono singleton " (con comillas), así que lo resolví como un singleton utilizado en una plataforma DotNet framework en lugar de un " Java Singleton " o un " C ++ Singleton " ;.

Lo siento, no pude resistirme :)

Nunca he escuchado el término que se usaba antes, pero imagino que se usa para referirse a un singleton que solo permite que se cree una instancia. (Un singleton general no requiere eso, también puede dar un número limitado de instancias).

O eso, o es un singleton hecho en mono ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top