Ho una classe davvero terribile con due metodi che avviano o interrompono alcuni servizi quando tali servizi sono disponibili. Qualcosa di simile a quanto segue (non sono se-elses, solo se):Un modello di progettazione per evitare più ifs
void startServices() {
if (service1 == true) {
start1();
}
if (service2 == true) {
start2();
} if (serviceN == true) {
startN();
}
}
void stopServices() {
if (service1 == true) {
stop1();
}
if (service2 == true) {
stop2();
}
if (serviceN == true) {
stopN();
}
}
cosa mi consiglia qualsiasi scalpiccio di design per renderlo più bello?
Grazie!
Non risponderò a questo perché le risposte esistenti sono buone, ma vorrei solo sottolineare che '== true' è un po 'ridondante in qualsiasi' if() '. –