9

Ho letto diverse risorse finora sul modello di progettazione MVC per lo sviluppo di applicazioni iPhone. Tuttavia, ho una domanda relativa al modello di MVC nel contesto di sviluppo di iPhone.MVC in contesto di sviluppo iPhone

In primo luogo, vorrei dire quello che penso di MVC,

Modello: è legato a un dato che abbiamo per quanto riguarda gli oggetti della nostra applicazione. Esempio: applicazione di un simulatore di treno rispetto a, ogni treno in simulazione avrà i propri attributi e sarà salvato all'interno del modello di treno.

Controller: è qualcosa che controlla gli aggiornamenti dell'interfaccia utente. Mantiene un riferimento al modello di treno e controlla eventuali modifiche nel modello, se c'è c'è da cambiare la vista di quel particolare treno. E continua a verificare l'eventuale input dell'interfaccia utente in modo che possa modificare i dati all'interno del modello.

View: Questo è abbastanza ovvio La vista è tutto su UIView, ciò che vediamo sullo schermo.

enter image description here

Ora, la domanda è ...

fa modello deve essere persistente per essere considerato come un modello? o posso avere una classe che ha variabili senza alcuna persistenza. Vorrei che essere considerato come modello pure, o modello devono essere conservati da qualche parte come in CoreData o txt, ecc ....

Grazie per ogni ingresso!

risposta

7

Il modello deve essere persistente per essere considerato un modello?

Può variare o trasformarsi finché il controller può supportarlo.

modello deve essere memorizzato da qualche parte come in CoreData o txt

Niente affatto.

È possibile utilizzare qualsiasi modello, se applicabile. Il modello è solo un'altra astrazione della tua logica/database/accesso alla rete/blablabla ...

+0

Grazie, Breve e dolce! – doNotCheckMyBlog

3

No, l'idea dietro MVC in realtà non si riferisce ai database, anche se è normale. Il modello dovrebbe semplicemente catturare tutta la logica aziendale. Se stai costruendo una calcolatrice, la vista è il display e i pulsanti, il modello è la parte di codice che sa come aggiungere e sottrarre, e il controller è quello che collega i due. Nessuna persistenza coinvolta.

3

No, un modello non deve essere persistente.

In teoria, un buon modo per iniziare il progetto sarebbe utilizzare un modello non persistente per semplicità. Quindi, quando si modifica il modello per diventare persistente, non è necessario apportare modifiche alla vista o al controller, poiché l'interfaccia verrà progettata in modo da non essere a conoscenza dei dettagli del modello.

In pratica non è una buona idea su iPhone se si prevede di utilizzare Core Data per il proprio modello quando lo si rende persistente. Core Data richiede di progettare le classi in un modo un po 'diverso. Anche se non dovresti apportare molte modifiche alla vista e al codice del controller quando cambi il modello, dovrai apportare molte modifiche al codice al tuo modello. Se sai che utilizzerai Core Data, è meglio iniziare subito con esso.

Problemi correlati