2014-12-07 83 views
0

作爲一個較大的學校項目的一部分,我有一個使用MVC模式的應用程序設計,現在有一個新的要求來添加遠程監控站。看起來代理模式最適合遠程監控,但是... 將代理掛接到視圖中還是需要其他東西,如適配器,或掛鉤到模型中,並使用新的視圖/客戶端的控制器?如何使用代理模式與MVC

這是我試圖描述的一個基本的UML例子。

enter image description here

+0

遠程監控站是否包含您將在視圖中顯示的數據? – cfeduke 2014-12-07 06:15:40

+0

@cfeduke是的,將視圖看作顯示面板來顯示硬件狀態,如溫度傳感器值,遠程監控系統顯示與智能手機或Web界面等相同的狀態/值。 – CodeKid 2014-12-07 06:21:42

回答

0

其中控制器訪問代理來檢索其數據,然後包括在模型中的視圖數據,顯示你可以建模。這將允許您執行某些操作,例如隱藏客戶端的API訪問密鑰或其他憑據(在使用許多第三方服務時非常重要)。這還允許您在控制器級別執行代理緩存值的操作 - 或者更可能是控制器和代理之間的注入方面[即另一個代理]。

但是,有些情況下,您會從客戶端和Web應用程序中考慮這個問題,您可能邏輯上認爲該解決方案存在於視圖中(只要您邏輯思考JavaScript)。實際上,實際的設計是,您擁有客戶端代碼,這些客戶端代碼位於視圖中,並分解成自己的具有控制器,模型,視圖等的UML模型。您可以在服務器後端緩存不重要的情況下執行此操作,或者敏感證書信息不應該離開客戶機器的地方。

當您從等式中移除JavaScript並且您正在考慮只是一個vanilla MVC設計時,我相信最好讓控制器訪問代理。

+0

謝謝尋求幫助和指導。我還沒有處理訪問密鑰或其他類型的憑證,但你已經給了我一些我應該追求的更多的想法。 – CodeKid 2014-12-08 01:52:31