分享一個Metro風格的程式

來源:互聯網
上載者:User
文章目錄
  • 目錄
  • 前沿
  • 環境
  • 項目結構
  • 總結
目錄

前言

環境

項目結構

總結

 

前沿

最近在學微軟的RX,這個基於非同步和事件的類庫。RX是由Observables+Linq+Schedulers 組成。它的優勢在於處理I/O操作的時候,能夠很好的處理非同步作業。

於是出於練習,做了一個進銷存系統,至於為什麼選進銷存系統。因為前段時間部落格園裡的園友都分享了一些進銷存的開源軟體。

 

環境

這個系統運用了 Autofac,Caliburn.micro,RXUI,NHibernate。用了Autofac來管理我的程式的生命週期(這邊占時簡單的運用了)。Caliburn.micro 管理ViewModel和View,主要是它的Screen Activation Lifecycle的思想概念很好。因為這個系統是基於WPF開發的我用了RXUI這個架構,它能夠很好的和MVVM模式結合,RXUI和Caliburn.Micro各自都有做對INotifyPropertyChanged變化的實現。這邊兩個一起用了 有點衝突了。NHibernate用來操作資料了。

 

項目結構

1、架構結構

Commom放了一些常用的類,這裡面實體屬性的INotifyPropertyChanged通過AOP來附加上去。Validate通過附加屬性和ViewModel邏輯判斷來驗證,使實體符合POCO,Model放Nhibernate實體物件和Mapping,Repositories負責對Nhibernate的資料進行的操作,Services是一些介面檔案。

2、AppBootstrapper

AppBootstrapper負責Register和Resolve對象的地方。其中Confirgure方法裡負責註冊對象。LoginSuccess成功之後載入對應許可權的模組。這裡把註冊和登入操作同時進行了。考慮到了Nhibernate配置有點慢。

3、登入介面

預設管理員是Admin密碼為空白。

4、Home

 

Home相當於Conductor,每個模組就是一個Screen。

總結

在這個系統中RXUI用的比較多。對RX比較感興趣的的園友們可以一起討論下。我想在Win8及以後的系統中,RX的發展空間還是挺大的。還有其他頁面看源碼這裡吧。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.