2012-02-14 15 views
11

Qual è il modo migliore per separare i diversi livelli di un'applicazione espressa, in modo che il mio file app.js non si riempia di tutte le funzioni? Vengo da un mondo Java, quindi in genere ho i miei modelli, la logica di business e il codice DAO in livelli separati.Separazione di modelli, logica e DAO in express/node.js

L'altra domanda, che mi ha dato fastidio: come faccio ad aprire una connessione a un DB in app.js e poi a condividerla tra i vari pezzi di codice che devono accedervi? Non le funzioni instradate, ma i moduli di business logic.

risposta

7

Vedi questo progetto come file separati come segue:

https://github.com/lethus/popbroker

routes.js - Qui abbiamo messo i percorsi, di solito si fa riferimento ai controllori

models.js - Modello qui si inserisce il funzioni di MongoDB

forms.js - Si lavora la convalida degli oggetti

controllori/users.js - Tha t sarebbe qualcosa come l'interfaccia utente di Java, qui chiamiamo models.js e facciamo l'insert, update, list, Finds

+0

È una buona separazione, ma mi piacerebbe vedere un esempio utilizzando un vero database, per vedere come un pool di connessioni può essere meglio utilizzato. – mlaccetti

+0

Dai un'occhiata al blog di Christian's Express-js come un altro esempio https://github.com/csanz/expressjs-blog – Don

Problemi correlati