Estoy buscando diferentes formas de garantizar que cada instancia de una clase determinada sea una instancia identificable de forma única.
Por ejemplo, tengo una Nameclase con el campo name. Una vez que tengo un Nameobjeto nameinicializado a John Smith, no quiero poder crear una instancia de un Nameobjeto diferente también con el nombre de John Smith, o si se produce una instanciación, quiero que se devuelva una referencia al objeto original. que un nuevo objeto
Soy consciente de que una forma de hacerlo es tener una fábrica estática que contenga Maptodos los objetos de Nombre actuales y la fábrica verifica que un objeto con John Smith como nombre ya no exista antes de devolver una referencia a un Nameobjeto.
Otra forma de pensar en la parte superior de mi cabeza es tener un Mapa estático en la Nameclase y cuando se llama al constructor lanzando una excepción si el valor pasado nameya está en uso en otro objeto, sin embargo, soy consciente de lanzar excepciones en un constructor es generalmente una mala idea .
¿Hay otras formas de lograr esto?
I'm aware that one way of doing this is to have a static factory that holds a Map...Entonces, ¿por qué no quieres hacerlo de esta manera?