Avere un livello di accesso ai dati come singleton è una buona idea

0

Sto lavorando su un progetto (applicazione web) in cui ho una classe DataManager(IDALContract dalImplementation) che fa qualcosa con i dati dopo averla recuperata dal database o prima di salvarla nel database.

La mia domanda: c'è qualche ragione per cui l'oggetto IDALContract che sto passando al costruttore dovrebbe / non dovrebbe essere un singleton?

    
posta Vali D 25.06.2015 - 21:00
fonte

1 risposta

3
  1. FooManager è un odore. I gestori invariabilmente soffrono di problemi perché un "Manager" è un catchall che lo spinge ad avere più responsabilità . Vi incoraggio strongmente a non andare su quella strada verso gli oggetti di Dio.
  2. Singletons sono anti-pattern. Sempre. Ti costringono ad avere sempre un solo oggetto di un tipo, e nessuna cosa del genere esiste. Mi dirai che non avrai mai e poi mai più di un livello di accesso ai dati? Non avrai mai bisogno di accedere a dire, il tuo database, una cache o qualche archivio NoSQL allo stesso tempo? Sei veramente sicuro di voler limitare strongmente il tuo design?
risposta data 25.06.2015 - 21:13
fonte

Leggi altre domande sui tag