QNA > C > Come Ottimizzare Quasi Duecento Codici Di Casi Di Switch In Java

Come ottimizzare quasi duecento codici di casi di switch in Java

Strategy pattern

Più specificamente, guardate le condizioni di switch e le operazioni eseguite in ciascuna. Se trovate che il comportamento in ogni caso è abbastanza generale, definite un'interfaccia con un metodo di servizio appropriato per invocare e implementare il comportamento e poi implementate classi astratte e concrete come necessario per coprire tutti i casi.

Utilizzare poi una struttura Map per memorizzare le istanze delle varie implementazioni dell'interfaccia necessarie a coprire i casi e registrarle sotto ogni istanza del codice di commutazione. Riutilizzate le istanze delle implementazioni dell'interfaccia come necessario. Se lo state facendo bene, i metodi che implementano il vostro comportamento dovrebbero essere stateless e thread-safe.

A runtime, ottenete semplicemente il valore della condizione di switch dalla sua variabile di input, recuperate l'istanza che copre quel caso dalla Map ed eseguite il metodo di servizio. Voilà! Centinaia di linee di codice ridotte a due in fase di esecuzione e il numero di linee necessarie per registrare le vostre istanze condizionali all'avvio. Se prevedete di cambiare spesso le condizioni, potete anche scaricare la definizione di avvio e il registro in un file di risorse e caricarlo al suo posto, liberandovi del codice.

Di Cryan

How to connect 5 switch with 1 router in Cisco Packet Tracer :: Come funziona l'interruttore ATM?
Link utili