Quale sarebbe il modo migliore per implementare la programmazione basata su priorità senza aggiungere troppa logica di elaborazione if-else

1

Abbiamo bisogno di aggiungere la programmazione basata su priorità nella nostra applicazione usando il linguaggio di programmazione java. Ad esempio, ci sono tre priorità che un telefono può avere: A1, A2 e A3. Inoltre ci possono essere tre diversi tipi di numeri di telefono come casa (H), ufficio (O) e mobile (M). Ci devono essere priorità predefinite come:

M - A1

H - A2

O - A3

Ora le priorità cambieranno anche in base alle preferenze dell'utente. Ad esempio, se O viene fornito con priorità A1, M e H cambieranno in A2 e A3.

Quale sarà il modo migliore per implementare questa logica senza aggiungere troppa logica di elaborazione if-else nel codice?

    
posta Rachana Shah 27.05.2015 - 11:32
fonte

1 risposta

1

Mi sembra che la priorità non sia una proprietà di un tipo numerico se la priorità è determinata in base alle priorità degli altri tipi di numeri, quindi penso che l'approccio migliore sarebbe quello di posizionare i tipi numerici in una lista.

In altre parole, hai un elenco di elenchi. L'Elenco esterno determina la priorità dei numeri contenuti all'interno mentre l'Elenco interno contiene i numeri stessi.

Supponiamo che la posizione 0 nell'elenco esterno corrisponda alla priorità A1, la posizione 1 corrisponde alla priorità A2 e la posizione 2 corrisponde alla priorità A3. Se si aggiungono più priorità in seguito, è possibile aggiungerne altre, ma è sufficiente dire che il numero di priorità corrisponde al numero di possibili tipi di numeri.

Supponiamo che l'utente desideri modificare la priorità di quelli da A1 a A3. Bene, secondo il nostro elenco, dovremmo semplicemente rimuovere il primo elenco di numeri e aggiungerlo alla fine. Il secondo elemento nell'elenco ora è il primo e il terzo è ora il secondo. La priorità di ogni numero è quindi determinata dalla sua posizione nell'elenco, in modo da conoscere la priorità di un numero in base alla lista da cui è stato recuperato.

Spero sia chiaro. In caso contrario, fammi sapere e cercherò di chiarire nella mia risposta.

    
risposta data 27.05.2015 - 14:40
fonte

Leggi altre domande sui tag