|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
其实Java之所以在曾经独步天下,就是因为他的跨平台、安全性,这两方面,效率可不是Java的强项,反而是他最短的一块挡板,虽然net总是用理论证明比.NET快。假如你对MVVM的观点仍是不懂得,能够参看上面链接:
http://baike.baidu.com/view/3507915.htm
我们以WPF+MVVM的当地桌面程序为背景,如许一来我们能够不往费心服务器那部分的事变,加倍专注我们的MVVM。我盘算把最主要的部分放到开首来说,而接上去这最主要的部分倒是全篇教程独一没有代码的部分。好,上面入手下手。
MVVM不是甚么框架,也不是甚么代码天生器,它实在就是一种倡议罢了。良多伴侣关于这个词很狐疑:究竟我怎样做,我的程序才是一个尺度的MVVM形式?实在我们没有需要往纠结中一点,由于(最少我)还没有见就任何一个程序能完成100%的MVVM。以是我们必要做的是,了解MVVM,然后接纳MVVM的头脑+现成的框架往搭建出一个程序便可,至因而不是尺度的MVVM,不要太过往纠结。我看到过一些失利的例子:有些工资了完成零输入的背景代码,居然接纳一些加倍烦琐流畅的办法来到达此目标——如许就背叛了MVVM的初志了。我团体以为,背景代码不是恶魔,当用则用,但不要滥用。
那末,MVVM是办理一切成绩的终极办理计划吗?固然不是。MVVM只办理了界面和数据之间通讯的成绩,可是除此之外,一样平常的程序还面对其他良多成绩,比方数据的存储,远程通讯,耦合成绩,效力成绩,等等。
这个教程仍是以一个小程序为例子,而此次我盘算用一个功效十分复杂的程序来说MVVM:我们来做一个德律风簿。可是起首你要预习以下常识:
1.甚么是Model,View,ViewModel?
2.甚么是XAML?和XAML一些最基础的语法
3.甚么是事务(event)?
4.甚么是接口?甚么是INotifyPropertyChanged接口?
5.甚么是绑定?绑定这几种体例(OneWay,TwoWay,OneWayToSource)的分歧点是甚么?
接上去,我们来会商一下将要用到的工具。
起首是VisualStudio2010,这个没甚么可说的,人人都晓得,你也不要小气了,晋级到2010没有任何害处。
MvvmLightToolkit——这是一个很轻的MVVM框架。麻雀虽小,五脏俱全,应当能满意我们小程序的一切需求。网址:http://mvvmlight.codeplex.com/
NuGet——这个工具相似于Maven,次要是为你的项目办理第三方DLL的成绩。我们的项目常常要利用其他的DLL,好比Json.NET,而每次往人家的页面下载,然后再复制粘贴到你的项目中,最初再援用,是个很反复单调的历程,用NuGet能够对照文雅的帮你办理这些懊恼。网址:http://nuget.org/
MEF——ManagedExtensibilityFramework,这个尚在思索当中。有些伴侣大概对IoC(InversionofControl)大概DependencyInjection不熟习,以是我还在夷由要不要在例子中利用这个。相干常识网址:http://en.wikipedia.org/wiki/Inversion_of_control;http://en.wikipedia.org/wiki/Dependency_injection
CaliburnMicro——另外一个MVVM框架。我对照偏幸这个框架。它的头脑很奇妙,并且用起来也很便利,上手也很简单。网址:http://caliburnmicro.codeplex.com/
Json.NET——我们有大概会用到这个开源库。缘故原由在于我们大概必要一个复杂的数据存储层,以是我盘算用Json.NET将DataSet转成BSON(http://bsonspec.org/),然后存进当地文件。读取时分能够用Json.NET将BSON转回DataSet。网址:http://json.codeplex.com/
别的,MVVM的框架十分之多,微软有个Prism,可是我禁绝备用它做例子,由于Prism费心的事变太多了,这个复杂教程讲不了那末多。实在最次要的是,我对Prism不熟习。
假如你对丑化UI感乐趣,能够尝尝这两个器材:
Ookii.Dialogs——http://www.ookii.org/software/dialogs/
MahApps.Metro——http://www.theleagueofpaul.com/metro完全不一样的。.net其实我也说不太清,.net可以把他理解为跟J2EE相对的工具。c++主要做系统相关的开发你要学.net的话就应该学C#。(其实微软在.NET平台上也考虑了给C++留一个地位。 |
|