1.Quando ho bisogno solo di poche variabili impostate, non è la memoria che consuma per creare un intero oggetto? Per esempio. un intero site_object solo per passare site_id e site_names?
Sì, perché per ogni oggetto creato dal modello, che consuma memoria, e non è garbage collection nel CLR (C # /. NET) lo fa. Anche se si riutilizza quel modello all'interno dell'applicazione, questo probabilmente supera la perdita di memoria dalla creazione di un intero nuovo oggetto (quando si usano le classi per creare oggetti). Inoltre, una buona pratica direbbe che per lavorare con un modello, il modello viene creato allo scopo di essere istanziato e utilizzato per interrogare, inserire o fare un altro tipo di manipolazione del database.
2. È considerata buona pratica mettere tutte le query del database all'interno del mio oggetto modello o è meglio progettare un secondo modello per esso?
In genere, si desidera eseguire una query sui dati nel controller, non sul modello, sebbene non sempre. Quindi progettare ogni modello con un oggetto che verrà interrogato con i membri nel modello (oggetto per entità aziendale) in mente, utilizzando gli script.
Most will perform some sort of communication with the database
although some may not. Data is passed into and out of these objects as
standard PHP arrays. In this way an object can deal with any number of
database occurrences both as input or output. ◦It calls the relevant
view object to create output in either HTML, PDF or CSV.
3.Se la domanda sopra è risposta falsa, le query nel controller sono una buona alternativa?
Sì, se si inseriscono gli script componente nel controller, si consente "separazione delle preoccupazioni" e si rende l'applicazione più scalabile e più facile da mantenere. È possibile utilizzare il metodo GET HTTP per effettuare una chiamata al database all'interno del controller.
> • il modello gestisce il comportamento e i dati del dominio dell'applicazione,
4.Se ho creato più istanze di oggetti modello e memorizzo le funzioni di query nello stesso modello, tutte queste funzioni vengono caricate in memoria più volte?
No, perché le funzioni di query verranno caricate con il modello, tuttavia questa non è una buona pratica, le query non dovrebbero essere nel modello.
Model Component
This ensures
that all the common code is defined in one place but can be shared by
many objects.
5. La domanda sopra non è male per le prestazioni?
Sì, perché è probabile che gli oggetti vengano creati e interrogati ogni volta che l'oggetto del modello viene istanziato. Tuttavia, considera che se hai usato l'oggetto una sola volta per lo scopo per cui è fatto, ridurrai la quantità di oggetti che probabilmente dovrai creare.
Spero che ti aiuti!
Maggiori informazioni su: link