2010-08-18 52 views
1

您是否知道任何可用的架構模式,其中大部分代碼可以在Silverlight和ASP .NET UI之間共享?據我所知,Silverlight不能很好地與MVC一起工作(儘管人們在博客上如何實現這一點,事實上他們所做的並不是純粹的MVC),同樣適用於ASP .NET MVVM。ASP .NET和Silverlight UI的架構模式

但是,我很確定有一種模式,您的所有業務層和數據層都可以被Silverlight和ASP .NET應用程序重用。

如果我們需要創建一個Web應用程序,使用Silverlight作爲桌面,使用asp .net作爲移動設備和iPad,假設除UI之外的所有內容都是相同的。

回答

1

您可以簡單地創建一個業務邏輯層組件,該應用程序的Silverlight和ASP.NET版本都將使用這個組件,UI將會不同,但他們都會使用相同的業務邏輯或任何您想要的稱它。然而,訣竅是Silverlight是一種客戶端技術,因此服務器端可以容納所有共享邏輯,然後您需要通過客戶端可以與之交互的Web服務來連接它,但是當它出現時就不用說了到Silverlight /客戶端技術。

1

與您所聽到的相反:Silverlight與MVC非常相稱!

就共享代碼而言,最簡單的答案是在MVC應用程序中實現數據層和業務對象的單個實現,然後通過Web服務將其公開給Silverlight應用程序。

理想的情況下,這意味着在你的Silverlight應用程序的唯一代碼是特定UI ...

1

RIA服務可工作在Silverlight和ASP.Net,並通過成員屬性提供客戶端和服務器驗證。代碼在服務器和客戶端應用程序之間自動共享。

1

您可以將WCF和/或Ria服務用於數據層。