Una delle regole all'interno della codifica non deve mai avere un codice duplicato, quindi se le tue viste stanno facendo cose diverse o se i dati dovrebbero essere gestiti in modo diverso a seconda che si tratti di un iPad o di un iPhone (es. Diverse fonti di dati?) Dovrebbe sicuramente essere in classi diverse, se non ... poi no. Usa uno e la stessa classe.
Una cosa che è comune e che potresti implementare in questo caso è una specie di helper, una classe delegata se vuoi, che gestisce tutti i metodi e le azioni comuni che avvengono nel tuo codice.
Regola d'oro: scrivi il meno codice possibile! Meno codice == più manutenibile e di qualità superiore. Quindi scrivi il minor numero possibile di codice senza incidere sui tuoi requisiti. Inoltre, suddividere il codice in modo che sia più facile da test (unità) e quindi più facile da riutilizzare.
Spero che abbia risposto alla tua domanda.
Aggiornamento
So che c'era una terminologia per questo, solo potrebbe pensare di esso. Avere un codice duplicato è chiamato "violazione DRY". DRY è l'acronimo di Do not Repeat Yourself, un principio di sviluppo del software volto a ridurre la ripetizione di informazioni di ogni tipo, particolarmente utile nelle architetture multi-livello.
Ulteriori informazioni: DRY on Wikipedia
fonte
2012-04-30 13:35:37
Se la tua classe non ha nulla a che fare con le viste (che potrebbero essere modificate), ma implementa una logica, allora non penso che sia necessario separare la classe. Ecco un link che potrebbe aiutare: http://stackoverflow.com/questions/7315551/iphone-vs-ipad-development-process-differences-and-similarities – superM
Questo collegamento mi dà ancora più dubbi: http: // StackOverflow. com/a/7315777/807239. Dal momento che un'app per iPad è più utilizzata di un'app per iPhone, dovrei ripensare a tutto il processo che sta dietro l'interfaccia utente e come i controller li gestiscono ... È corretto? –
In linea di principio, l'interfaccia utente da dispositivo a dispositivo cambia molto più della logica. Se la tua app non è "pesante" di quanto non re-design l'intera elaborazione. Ho pochissima esperienza nello sviluppo per iOS (più con Android), ma raramente ho visto che la logica è implementata separatamente per dispositivi diversi. Lo stesso è con Android)) – superM