分享一个Metro风格的程序

目录

前言

环境

项目结构

总结

 

前沿

最近在学微软的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、框架结构

QQ截图20120915103500

Commom放了一些常用的类,这里面实体属性的INotifyPropertyChanged通过AOP来附加上去。Validate通过附加属性和ViewModel逻辑判断来验证,使实体符合POCO,Model放Nhibernate实体对象和Mapping,Repositories负责对Nhibernate的数据进行的操作,Services是一些接口文件。

2、AppBootstrapper

AppBootstrapper负责Register和Resolve对象的地方。其中Confirgure方法里负责注册对象。LoginSuccess成功之后加载对应权限的模块。这里把注册和登录操作同时进行了。考虑到了Nhibernate配置有点慢。

3、登录界面

QQ截图20120914224030

默认管理员是Admin密码为空。

4、Home

QQ截图20120914224113

 

Home相当于Conductor,每个模块就是一个Screen。

总结

在这个系统中RXUI用的比较多。对RX比较感兴趣的的园友们可以一起讨论下。我想在Win8及以后的系统中,RX的发展空间还是挺大的。还有其他页面看源码这里吧。

你可能感兴趣的:(metro)