Come gestire tipi di modelli diversi [duplicati]

-1

Sfondo: ho bisogno di rendere le stesse informazioni in due formati di testo. Per fare questo, ho una serie di classi di modelli che memorizzano le informazioni appropriate. Devo quindi rendere le stesse informazioni in due modi diversi.

Ogni modello ha una lista di "azioni". Diverse azioni hanno attributi diversi.

Come posso gestirlo nel mio codice di rendering senza passare al tipo di azione? Sto lavorando sul presupposto che un'istruzione switch sul tipo di oggetto sia una cosa negativa.

if isinstance(action, ActionOne):
    render_action_one(action)
elif isinstance(action, ActionTwo):
    render_action_two(action)

Le classi di azioni, essendo parte del modello, non sanno come eseguire questo rendering.

Modifica: Questo è accaduto in Python, ma non penso che sia così importante qui.

    
posta wrgrs 16.03.2017 - 10:26
fonte

1 risposta

-2

Non lo fai. lo stai facendo male.

Invece di eseguire il rendering dei metodi sul tuo modello, disponi di più viste per lo stesso modello.

    
risposta data 16.03.2017 - 10:33
fonte

Leggi altre domande sui tag