Ho sviluppato un'applicazione Android in cui, in genere, ogni vista ( layout.xml
) visualizzata sullo schermo ha il proprio frammento corrispondente (ai fini di questa domanda potrei fare riferimento a questo come ViewController
).
Queste viste e Fragments / ViewControllers hanno un nome appropriato per riflettere ciò che visualizzano. Quindi questo ha l'effetto di consentire al programmatore di individuare facilmente i file associati a ciò che vedono su qualsiasi schermo.
Quanto sopra si riferisce alla parte da uno a uno della mia domanda.
Si noti che con quanto sopra ci sono alcune eccezioni in cui molto simile è visualizzato su due viste, quindi il ViewController
viene usato per due viste. (Utilizzando un semplice interruttore (tipo) per determinare quale file layout.xml
caricare)
Il rovescio della medaglia. Attualmente sto lavorando alla versione iOS della stessa app, che non ho sviluppato. Sembra che stiano adottando più di un approccio uno-a-molti ( ViewController
: View
).
Sembra esserci un ViewController
che gestisce la logica di visualizzazione per molti diversi tipi di visualizzazioni. Nel ViewController
sono un assortimento di flag booleani e di matrici di dati (da visualizzare) che vengono utilizzati per determinare quale vista caricare e come visualizzarla.
Questo mi sembra molto complicato e, in assenza di commenti / nomi variabili ambigui, trovo molto difficile implementare modifiche nel progetto.
Cosa ne pensate dei due approcci? Quale preferiresti? Sto davvero pensando di impiegare un po 'di tempo extra al lavoro per ridefinire iOS in un approccio più 1: 1.
Il mio ragionamento per 1: 1 su M: 1 è quello della modularità e della leggibilità. Dopotutto, alcune persone non misurano la qualità del codice in base a quanto è facile per un altro sviluppatore cogliere il regno o quanto è facile estrarre un pezzo di codice e utilizzarlo da qualche altra parte?