繼續從this對Silverlight體系結構的初步調查,我有一些需要考慮的新要求。Silverlight設計模式的性能 - 非常豐富的客戶端UI
我們預計我們的Silverlight客戶端界面圖形很重,GIS界面,多個圖表,儀表和數據網格以Widget風格排列。新的小部件將由用戶動態生成。
假設用戶想要從預先填充數據的現有數據網格窗口小部件動態創建圖表窗口小部件。在我看來,如果我們在服務器上使用視圖模型的MVVM模式,當所需的數據已經位於客戶端時,這會導致不必要的回撥。
現在顯然服務器需要知道客戶端上的這個新的圖表小部件,但是如何在客戶端首先創建小部件(使用現有客戶端數據),然後通知服務器有關新更改?
在我們的Intranet中,客戶端與服務器之間的網絡連接不是特別好,所以性能至關重要。
從我最初的研究看來,通用的Silverlight體系結構模式要求將盡可能多的業務邏輯推回服務器。我理解這一點的理由,但擔心它會真正傷害我們應用程序的可用性。
是否有解決此問題的特定設計模式? MVVM,Prism或其他常見的Silverlight體系結構支持「客戶端綁定」嗎?
有沒有一個更正式的名稱,我試圖描述什麼?
我對Silverlight和MVVM等設計模式都很陌生,所以如果我的任何假設都錯了,請糾正我的錯誤。
聽起來像你需要一些案例研究。我的觀點之一是「常見的Silverlight體系結構模式要求將盡可能多的業務邏輯推回服務器」是不正確的,並且會破壞Silverlight的額外功能。您可以在客戶端上使用更強大的驗證邏輯來保存您通常使用AJAX的往返行程。 – sipwiz 2009-10-08 08:48:25
@sipwiz:的確,我很高興這樣做是錯的。我對如何最好地在客戶端和服務器端定義模型感到困惑。一些案例研究將是最受歡迎的。 – Alex 2009-10-08 09:03:50
我發現的是,Silverlight可以讓你在服務器或客戶端上做同樣的事情。它可以讓你選擇你喜歡的。例如,驗證可以在服務器上或在客戶端上完成。 – johnnywhoop 2009-10-08 13:53:05