Gestione delle funzionalità opzionali [duplicato]

1

Sto sviluppando un'applicazione in cui parte delle funzionalità supportate potrebbe diventare facoltativa in futuro, quindi l'utente può abilitarle / disabilitarle. Tuttavia non sono a conoscenza di un approccio nella gestione di tali funzionalità opzionali nel codice.

È proprio come mettere i controlli per vedere se la funzione è abilitata dall'utente o meno, prima di eseguire quella parte del codice,

if (isFeatureXEnabled)  
{  
     //do something  
}    
else  
{  
    //don't do it OR show some notification/dialog to the user that it is disabled  
}

o (si spera) ci sia un approccio / modello di progettazione migliore che può essere usato?

    
posta helleye 25.08.2017 - 14:01
fonte

1 risposta

8

Ci sono diversi approcci a questo:

  • Per caratteristiche semplici e ben isolate, la semplice bandiera potrebbe essere un buon approccio.
  • Per un'elaborazione facoltativa più complessa, puoi prendere in considerazione il schema di progettazione della strategia : questo è l'ideale per approcci alternativi in un algoritmo generale. "con" e "senza" l'opzione sarebbero due strategie diverse.
  • in alcuni casi, l'utilizzo di un modello di metodo del modello potrebbe essere un comportamento fattibile.

Infine, data la tua specifica esigenza, ti consiglio vivamente di dare un'occhiata al " interruttore di attivazione di Martin Fowler ".

    
risposta data 25.08.2017 - 15:45
fonte

Leggi altre domande sui tag