Esiste già un nome comunemente noto per il "modello di verifica"?

7

Uso uno schema che chiamo "assicuri" estesamente nel mio livello di repository. In breve, fa quanto segue quando chiamo un metodo Ensure(...) :

  1. Utilizza gli argomenti nel metodo per tentare di popolare un'entità di un tipo specificato (in definitiva dal database),
  2. Se ne trova uno poi lo restituisce; Se non lo fa, salva l'entità nel database e la restituisce.

Quindi, il mio metodo di verifica garantisce che ci sia sempre un'entità popolata con proprietà specificate, indipendentemente dal fatto che esistesse prima della chiamata.

Esiste già un nome più comunemente conosciuto per questo modello?

    
posta CarneyCode 14.12.2013 - 10:14
fonte

1 risposta

1

Credo che il tuo nome sia corretto, Microsoft ha un metodo chiamato .GetOrCreate ( int id , ...) nella classe LifetimeContext situato in System.Composition.Hosting namespace (.NET 4.5) che fa esattamente questo. Vedi qui

Tuttavia, la mia opinione è che in realtà stai implementando una versione diversa di un Pattern Multiton (vedi qui ) l'unica differenza rispetto alla normale implementazione è che invece di avere una cache di entità, stai andando al database per verificare le "istanze", quindi potresti prendere in considerazione la possibilità di cambiare il tuo metodo in .GetInstance(int id) o anche .GetInstance<T> in un repository generico.

Ma il tuo nome è anche corretto, come ho detto, è un approccio diverso.

    
risposta data 23.12.2013 - 15:18
fonte

Leggi altre domande sui tag