2013-01-10 52 views
1

如果我創建了一個數據庫支持的路由中間件來檢查某些數據,並且我希望它現在傳遞給視圖/呈現中間件,那麼我最好的方法是什麼?合作中間件的首選體系結構是什麼?

我應該:

  • 附上我取的數據請求對象,並建立了我的渲染層作爲鏈中的下?
  • 直接調用渲染層,就像我自己的路由器將它稱爲中間件一樣?
  • 也許還有其他一些建議?

我正在尋找一些通用的架構建議,可能會幫助我確保我創建的每個功能組件都不會因爲無法維護而變得龐大。我讀過的一些東西有利於將事物分解成儘可能多的模塊,這使得我認爲上述兩種選擇可能是好的。

但也許一個更好或有什麼我失蹤?

+1

一些快速提示:1)將東西附加到'req'和'res'。 2)'req'和'res'是事件發射器。隨意傾聽事件,創建自己的事件,尤其是爲稍後發出的事件添加監聽器。沒有代碼,我不知道你在問什麼。 –

回答

2

如果您使用特快線,可靠的架構,鼓勵重複使用和簡單的樣子:

app.use(errorHandler); // errorHandler takes 4 arguments so express calls it with next(err) 
app.get('/some/route.:format?', checkAssumptions, getData, sendResponse); 

...其中checkAssumptions,的getData和sendResponse只是一個例子 - 你可以或長或短路線鏈取決於您的應用程序的需求。這些功能可能如下所示:

​​
+0

整潔!所以這肯定會與我的第一種方法jive。 –

相關問題