Silverlight應用程式框架雛形:MVVM+WCF RIA Service + 商務邏輯層+自寫的Entity Framework

來源:互聯網
上載者:User

經過1個月的學習,從接觸Silverlight到現在完成一個初具企業級應用程式框架的實現,確實感覺比較累。本來底層定型很快,但由於選型時爭論比較長,拖了點時間,而我本來只負責底層,但由於用戶端小組進展比較慢(原因一言難盡),這個星期我開始接手這方面的工作,經過幾天的努力,在UI組兄弟們的配合下,今天終於完成了從資料庫到頁面的整個應用架構的實現,效果不錯,而且還比較適合大規模開發。下面是整個架構體系:

Entity Framework:主要包括資料庫底層訪問和實體訪問封裝,可支援多種資料庫訪問,並可在一個應用上(WebApp)同時訪問不同資料庫,可根據需要自由切換。實體(包括表現實體)可由工具自動產生,實體映射採用元屬性實現。實體訪問:DBContext可以自動構造SQL語句進行相關操作。複雜查詢可以直接利用SQL執行,返回資料集後在商務邏輯層進行封裝或處理,實在不行還可以繼承基類,實現自己個人化得資料訪問方式(Entity Framework可參考我原來的博文,原來只是解剖一下,這次我將自己的想法基本實現了。當然緩衝和資料庫差異只是簡單的處理了一下)。

商務邏輯層:進行商務邏輯處理,基本的商務邏輯也可以用工具產生。實體屬性參照也在這裡處理,我的實體增加了兩個字典屬性:值參照和路徑參照。在這裡處理的好處是簡單,用戶端實現起來還是比較麻煩。

WFCRIA服務層:兩個功能,一是安全檢查,二是簡單的調用相關的商務邏輯。基本的服務都封裝在基類中,具體的服務類主要用於定義非標準服務。

用戶端資料服務層:負責與服務端打交道,可代碼產生。

MVVM模式:採用微軟開源的輕量級類庫。做了大量的改造,實際上只是利用了這個架構的訊息類。

VM:大量的利用了屬性索引器綁定功能,做了基類,可實現一般業務的大部分功能。標準功能可也可以代碼產生。

V:V的代碼很少,基本都是標準的。

整個架構到今天,有了一個標準的實現,而且效果還不錯,特此紀念一下,也感謝同事們的努力,人少但力量不小。當然也希望我的做法對大家有借鑒。

PS:其實很多東西本來可以封裝的,想想還是算了,太累。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.