Ossessionato con il riempimento di hashmaps invece di usare altro se cascate o istruzioni switch [duplicate]

1

Ogni volta che ho voglia di scegliere da una lista di implementazioni preferisco sempre riempire prima una mappa e poi chiamare qualunque cosa ho bisogno basandomi su un parametro, invece di usare switch o altro se le istruzioni.

Qual è lo schema che sto cercando qui? Mi è stato detto ripetutamente che usare le mappe non è la soluzione ottimale per questo, ma trovo che scrivere queste affermazioni sia noioso.

Ho taggato le lingue con cui sto lavorando attualmente, ma questa non è una domanda specifica per la lingua.

    
posta enon 11.11.2014 - 17:13
fonte

1 risposta

4

Come Amon ha sottolineato nel suo commento, si tratta di una tabella di spedizione . È un modo per implementare il concetto più generale di polimorfismo ad hoc .

Poiché quasi tutte le lingue dopo C supportano il polimorfismo ad hoc in modo nativo in una forma o nell'altra, è improbabile che la tua soluzione sia più leggibile o più efficiente, tranne in circostanze limitate come la deserializzazione. Anche in questo caso, i linguaggi più espressivi hanno costrutti che possono aiutarti, come i metodi multimodali di clojure.

Scopri come la tua lingua fa il polimorfismo ad hoc. È la soluzione giusta per il 99% delle situazioni in cui è necessario scegliere tra diverse implementazioni.

    
risposta data 11.11.2014 - 18:15
fonte

Leggi altre domande sui tag