萌萌妈妈 发表于 2015-1-16 14:21:31

NET网页编程之MVVM教程(一):MVVM简介与筹办事情

其实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++留一个地位。

冷月葬花魂 发表于 2015-1-18 13:28:07

是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。

分手快乐 发表于 2015-1-25 23:36:05

由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。

第二个灵魂 发表于 2015-2-4 13:47:04

微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。

深爱那片海 发表于 2015-2-10 01:13:44

是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

海妖 发表于 2015-2-28 14:43:01

提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。

因胸联盟 发表于 2015-3-10 00:28:02

碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。

柔情似水 发表于 2015-3-17 04:06:50

可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。

飘飘悠悠 发表于 2015-3-23 18:29:36

我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
页: [1]
查看完整版本: NET网页编程之MVVM教程(一):MVVM简介与筹办事情