NET 3.5 + VS 2008已经发布一年多了,可是还有一半以上的企业和开发团队在用VS2005+.Net 2.0,甚至还有用.Net 1.1+VS2003的。生产工具是提高生产力的最重要途径,但是还有许多人没意识到08系列的强大。
一、Visual Studio 2008环境新特性
· NET Framework 兼容支持。使用Visual Studio 2008可以进行基于多个.net framework 版本的开发,Visual Studio 2008同时支持framework 2.0/3.0和3.5几个版本。在不同的版本下它可以自动的框架特性工具箱,项目类型,引用,智能提示……过滤功能。我们升级到Visual Studio 2008也非常简单。
· ASP.NET AJAX和JavaScript智能客户端支持。ASP.NET AJAX成为.NET 3.5的一部分,除了包括ASP.NET AJAX 1.0的所有功能外,还集成了WebParts的UpdatePanel,与and 这样的控件的 ASP.NET 实现AJAX 集成。编写JavaScript提供了智能提示和调试的功能,还增加了JSON的全面支持,无论在WCF还是AJAX上都有广泛的应用。
· 全新的Web开发体验。Web设计器提供了分割视图编辑、嵌套母板页、以及强大的CSS编辑器集成。ASP.NET提供了三个新的控件:<asp: ListView>、<asp: DataPager>、<asp: LinqDataSource>,这些控件对数据场景提供了非常好的支持,允许对输出的标识做完全的控制。
· 其他。Visual Studio 2008加入拼写检查器,可以在编译前对不正确的定义或返回类型进行检查。也优化了特别是自动提示和重构功能。支持智能部署ClickOnce;.集成对Office (VSTO)和Sharepoint 2007开发的支持。性能上,运行一个后台编译器的速度比原来提高了一倍以上,而使用的内存不到原来的一半。VS2008精简了CLR的线程池,使各种类型的多线程应用程序也得到性能改进。
二、.Net FrameWork 3.5的新语法特性:
自动属性(Auto-Implemented Properties)
隐含类型局部变量(Local Variable Type Inference)
匿名类型(Anonymous Types)
对象与集合初始化器(Object and Collection Initializers)
扩展方法(Extension Methods)
Lambda表达式和Lambda表达式树(Lambda Expression and Lambda Expression Trees)
语言级集成查询Linq系列支持(Language INtegrated Query)
自动属性举例:
Code highlighting produced by Actipro CodeHighlighter (freeware)
private String name;
public String Name
{
get { return name; }
set { name = value; }
}
.NET 3.5下的新写法:
Code highlighting produced by Actipro CodeHighlighter (freeware)
public String Name { set; get; }
隐含类型局部变量举例:
Code highlighting produced by Actipro CodeHighlighter (freeware)
var url = “http://www.168.com”; //url被识别String
var dt = new DataTable(); //dt被识别为DataTable
var status = false; //status被识别为Boolen
匿名类型举例:
Code highlighting produced by Actipro CodeHighlighter (freeware)
var site1 = new { url = ” http://1.2.3.4 “, title = “BBS”, author = “Alex”, qq = “4111852” };
var site2 = new { url = “http://www.168.com”, title = “Title”, author = “Alex”, qq = “4111852” };
site1.url = site2.url;
对象与集合初始化器举例:
Code highlighting produced by Actipro CodeHighlighter (freeware)
User user = new User();
user.Id = 1;
user.Name = “Alex”;
user.Age = 22;
.NET 3.5下新的写法:
Code highlighting produced by Actipro CodeHighlighter (freeware)
var user = new User { Id = 1, Name = “Alex”, Age = 22 };
扩展方法举例:
Code highlighting produced by Actipro CodeHighlighter (freeware)
public static int Int(this HttpRequest request, string key)
{
return int.Parse(request[key]);
}
调用方法:
Code highlighting produced by Actipro CodeHighlighter (freeware)
int id = Request.Int(“id”);
Lambda表达式和Lambda表达式树举例:
Code highlighting produced by Actipro CodeHighlighter (freeware)
string[] nums = { “8”, “966”, “55”, “-14”, “33”, “2” };
//选择数组中第偶数个元素的数值平方并输出排序后的结果
nums.Select(n => Int32.Parse(n))
.Where(n => n % 2 == 0)
.Select(n => n * n)
.OrderBy(n => n)
.ToList()
.ForEach(n => Console.WriteLine(n));
n => n % 2 == 0,n => Console.WriteLine(n)等都是Lambda表达式。
Linq(Linq To Entity)举例:
Code highlighting produced by Actipro CodeHighlighter (freeware)
public IList getUserLogin()
{
using (var TE = new TestEntities())
{
var lstLogin = (from user in TE.Users where user.Enabled = 1
select new Login
{
PW = user.Pass,
ID = user.Id
}).ToList();
return lstLogin;
}
}
三、历史性的三大集成框架:
WPF (Windows Presentation Foundation)
WPF是微软新一代图形系统,为用户界面、2D/3D 图形、文档、视频、动画、三维等媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于WPF。 程序员在WPF的帮助下,要开发出媲美Mac程序的酷炫界面已不再是遥不可及的奢望。 WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流动文字支持flow text support,3D视觉效果和强大无比的控件模型框架。
对于开发人员和设计人员,WPF引擎统一了开发人员和设计人员体验文档、媒体和 UI 的方式他们从此只需学习一个模式。对于 .NET 开发人员,其框架是熟悉的,并且它最终将减少提供最佳用户体验和通信逻辑所需的代码行数。对于设计人员,WPF 提供的平台可消除内容、媒体和应用程序之间的边界。更重要的是,WPF可以使开发人员和设计人员像Web开发一样同步紧密地合作,也将大大提高C/S项目开发效率。
WCF (Windows Communication Foundation)
是Microsoft为构建面向服务的应用提供的分布式通信编程框架,.NET Framework 3.5的重要组成部分。使用该框架,开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。
从功能的角度来看,WCF完全可以看作是ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的并集。利用WCF,就可以解决包括安全、可信赖、互操作、跨平台通信等等需求。开发者再不用去分别了解.Net Remoting,ASMX等等各种技术了,同时,WCF充分地考虑了与旧有系统的兼容性。安装WCF并不会影响原有的.Net Remoting等技术方案。
ADO.NET Entity Framework
微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。
ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为 Conceptual Schema, Mapping Schema 与 Storage Schema 三层,其上还有 Entity Client,Object Context 以及 LINQ 可以使用。Entity Framework在 Visual Studio 2008 和.Net 3.5 CLR中都有充分的支持,也非常容易上手。使用Entity Framework,可以减少70%-90%的数据访问层代码,极大地提高.Net程序的开发效率、维护效率及程序健壮性。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
AWS MEAN堆栈+JavaScript=快速搭建应用
开发人员在构建Web应用时有许多选择。市面上有无数的框架和语言可选,而像AWS这样的云平台可以方便地部署和扩展应用程序。
-
JDK 8u40更新:新增功能抢先看
俗话说长江后浪推前浪,一代新人换旧人,Java更新版本交替,也是这样一个道理。甲骨文又给Java添加了哪些新功能。
-
移动浏览器到云:JavaScript地位正在扩张
不难发现人们非常喜欢在前端开发中使用JavaScript。但是,令我们惊讶的是后端开发也如此青睐JavaScript,促进了基于云和基于数据中心的托管应用的发展。
-
移动HTML5挑战何在?
当HTML5出现时,许多开发者和应用架构师视之为创建平台独立应用、简化你的设备支持以及当新的移动设备OS版本发布时减少应用相关问题的机会。