¿Ya existe un nombre comúnmente conocido para el 'patrón de garantía'?

7

Utilizo un patrón al que llamo "asegurar" ampliamente en mi capa de repositorio. En resumen, hace lo siguiente cuando llamo al método Ensure(...) :

  1. Utiliza los argumentos en el método para intentar rellenar una entidad de un tipo específico (en última instancia, desde la base de datos),
  2. Si encuentra uno, lo devuelve; Si no lo hace, guarda la entidad en la base de datos y la devuelve.

Por lo tanto, mi método de Garantía asegura que siempre haya una entidad poblada con propiedades específicas, independientemente de si existía una antes de que se hiciera la llamada.

¿Ya existe un nombre más conocido para este patrón?

    
pregunta CarneyCode 14.12.2013 - 10:14

1 respuesta

1

Creo que su nombre es correcto, Microsoft tiene un método llamado .GetOrCreate ( int id , ...) en la clase LifetimeContext ubicado en System.Composition.Hosting namespace (.NET 4.5) que hace exactamente esto. Consulte aquí

Pero, mi opinión es que de hecho estás implementando una versión diferente de un Patrón de Multiton (consulta aquí ) la única diferencia con la implementación normal es que, en lugar de tener un caché de entidades, irá a la base de datos para verificar las "instancias", por lo que podría considerar cambiar su método a .GetInstance(int id) o incluso .GetInstance<T> en un repositorio genérico.

Pero tu nombre también es correcto, como dije, es un enfoque diferente.

    
respondido por el Gabriel Vonlanten C. Lopes 23.12.2013 - 15:18

Lea otras preguntas en las etiquetas