Devo creare un fornitore di impostazioni che implementa un'interfaccia per ogni gestore?

0

Diciamo che ho una serie di servizi gestiti da un hub centrale, una parte del comportamento dell'applicazione è controllata da una serie di impostazioni che sono memorizzate su un file. In questo momento quando ottengo una richiesta e creo il gestore per esso, io inietto un oggetto ApplicationSettings che consentirebbe all'oggetto di accedere all'impostazione che gli interessa; ovviamente potrei fornire questi valori sul costruttore, ma alcuni costruttori accetterebbero una lunga lista di stringhe, che non mi sembra molto leggibile. Avrebbe senso creare un'interfaccia per ogni gestore per fornire accesso solo alle impostazioni che sono di preoccupazione per il gestore?

    
posta Zalomon 10.06.2016 - 11:54
fonte

1 risposta

1

Would it make sense to create an interface for each handler to provide access only the settings that are of handler's concern

In genere direi di si. Se ogni oggetto prende una configurazione generica che rende la vita molto facile per te (il programmatore), ma l'utente / client scoprirà solo la configurazione mancante durante il runtime. Preferirei che i parametri di costruzione fossero espliciti .

Se hai un numero enorme di questi parametri, forse il tuo oggetto sta facendo più di quanto dovrebbe essere? Puoi raggruppare gli oggetti di configurazione relativi in oggetti più piccoli che incapsulano una configurazione per un sottosistema?

I could provide these values on the constructor, but then some constructors would accept a long list of strings, which does not seem very readable to me

Un'altra opzione qui è utilizzare il modello di build , che semplificherà il costruttore.

    
risposta data 10.06.2016 - 13:21
fonte

Leggi altre domande sui tag