Ho un'app MVC, che ha più viste che forniscono panoramiche (da diverse angolazioni) sugli articoli.
Per ora, chiamiamo solo queste viste
- Visualizzazione1
- View2
- ...
- viewX
Tutti usano la stessa collezione di modelli come base
A partire da ora ho un controller per vista (View1Controller, View2Controller, ...), e inoltre ho ItemEditView e ItemEditController per la finestra di modifica degli elementi.
Quando si verificano determinate interazioni all'interno delle viste numerate, devono essere eseguite le stesse azioni:
- Catena di azioni 1: riduce il valore del pulsante / posizione su due valori, controlla se questi due valori consentono di creare un nuovo oggetto, in tal caso apri ItemEditView per creare un nuovo oggetto.
- Catena di azioni 2: controlla se questo elemento può essere mostrato, in tal caso, apri ItemEditView per modificare l'elemento.
- Catena di azioni 3: controlla se questo elemento può essere modificato, in caso affermativo, aggiornalo in base alla posizione in cui è stato trascinato.
Come potrei dividerlo meglio in funzioni e controllori?
A partire da ora, la funzione View2Controller.ItemClicked()
calcola alcuni parametri aggiuntivi richiesti da View1Controller, quindi chiama View1Controller.ItemClicked()
... Immagino che questo sia un pasticcio terribile, ma dove inserirò le funzioni comuni di tutti i ViewXControllers?
O dovrei inserire tutte le funzioni di tutte le viste in un controller comune?