我正在開發一個小型業餘愛好項目,在那裏我非常喜歡一些輸入和建議。node.js關於避免全局狀態的架構建議
這是我第一個「真正的」節點項目,我希望它能教會我很多關於node.js的開發。我是一名.NET開發人員,在職業上已經工作了大約15年。我也有過做Java的時期。我創建了一個小型node.js項目用作微服務。
但是,這個項目不再被歸類爲微服務;-)
該項目的目的是品嚐一些傳感器數據,並做一些報告。我在大學時玩過PLC的想法。我通過從PLC採樣並使用ZeroMQ發射數據。然後,我的node.js服務器監聽這個傳感器數據,並將其存儲在MongoDB中。
我在REST API中公開這些數據。 REST api還公開資源,如批處理和其他的東西,如身份驗證等。最重要的是,我有一個AngularJS應用程序,它創建了用戶界面。
真正讓我惱火的一件事是,我想全局分配正在運行的批次。我有一批批次,其中一批是正在運行的批次。我看到有兩種方法可以做到這一點,並且都說明了我在node.js世界中的新手地位。所有用戶都應該能夠看到正在運行的批次,並且我希望能夠從代碼中的任何位置輕鬆地進行分析。
1)在Mongo中的對象上設置一個標誌。這有許多問題。最明顯的就是表現。我每秒接收10次傳感器數據,而且我不想每次都詢問數據庫要保存的數據。
2)保存全局對象的信息。我真的不喜歡這個。我不喜歡我的代碼中的全局狀態。
做這樣的事情有什麼好的模式?我的問題是否有意義?
在此先感謝
太寬泛。請回過頭來回答一些具體的問題,並且只標記你正在處理的體系結構。你可能會在[programmers.stackexchange.com/](http://programmers.stackexchange.com/)上找到更多的關於「踢出」設計概念的更多的愛,在那裏可以容忍更多的聊天。或者您也可以在這裏提出具體問題。 – 2014-09-13 08:09:42
嗯,也許你是對的......最關心的是如何處理全局對象,當我想到它。將嘗試改進問題。 – 2014-09-22 11:30:03