In Django, l'architettura software suggerita è quella di mettere tutta la logica aziendale e l'accesso ai dati nei modelli.modelli django = business logic + accesso ai dati? O il livello di accesso ai dati dovrebbe essere separato dal modello django?
Tuttavia, alcuni colleghi hanno suggerito che il livello di accesso ai dati dovrebbe essere separato dalla logica aziendale (livello del servizio aziendale). La loro giustificazione è che il livello di accesso ai dati può isolare le modifiche se viene utilizzata un'origine dati diversa. Dicono anche che esiste una logica aziendale che può essere presente in più di un modello.
Tuttavia, quando avvio la codifica utilizzando i livelli separati di accesso ai dati e di logica aziendale, il livello di accesso ai dati è semplice (in pratica il codice del modello che definisce lo schema db) e non sembra aggiungere molto valore.
C'è davvero un valore nel separare l'accesso ai dati dai modelli di django o django fornisce già uno strato di accesso ai dati sufficiente con il suo ORM?
Sto cercando sviluppatori che hanno implementato un discreto numero di app di django e scoprire quale sia la loro opinione. Questo è per un'applicazione web di piccole e medie dimensioni.
Il livello di accesso ai dati è l'ORM. ** è ** separato dal modello. Non cambierai gli ORM. Stai ** sta per cambiare i motori di database; e questo è già reso banale dal livello ORM. Non è chiaro cosa intendano i tuoi colleghi per "livello di accesso ai dati". Potete fornire maggiori informazioni? –
possibile duplicato di [Separazione della logica aziendale e dell'accesso ai dati in django] (http://stackoverflow.com/questions/12578908/separation-of-business-logic-and-data-access-in-django) –
@the_drow: OT: puoi per favore interrompere la revisione del robo e prestare attenzione alle modifiche? [Questa modifica suggerita] (http://stackoverflow.com/review/suggested-edits/3992632) era un commento ovvio, non una modifica suggerita che avrebbe dovuto essere accettata. –