抛砖引玉:我看微软.NET各子技术领域之应用前景

2026国产化落地:C# .NET 9在国产工控机(飞腾/鲲鹏/龙芯)上的适配与性能优化 摘要:本文分享了C# .NET 9在国产工控平台(飞腾、鲲鹏、龙芯)的适配经验。作者基于十年工业自动化开发背景,详细介绍了国产化替代趋势下的技术挑战与解决方案。文章从架构设计、平台支持现状、开发环境搭建到核心代码适配四个方面展开,重点讲解了.NET 9对三大国产CPU的优化支持,以及字节序处理、原生库依赖等关键技术问题。通过实际项目验证,最终实现了30%的性能提升和40%的内存优化。 阅读详情

抛砖引玉:我看微软.NET各子技术领域之应用前景

 

金旭亮

 

         从2002年发布.NET 1.0,历经8年发展,.NET发展到了4.0,已经成为一个庞大而复杂的软件开发与运行平台,其架构日益复杂,其应用领域也在不断地扩展,包容了“一堆”的子技术领域。在.NET 4.0即将发布之际,回顾一下已发布的各项.NET技术,看看哪些技术用得很火,哪些被打入冷宫,再猜猜.NET 4.0中可能会有哪些技术会得到“青睐”,是件有意思的事。

1 桌面应用程序开发技术( Windows Form和WPF)。

  在.NET桌面应用程序开发领域,Windows Form是“前辈”,相比以前的老祖宗MFC,其开发效率高得多,即使比一向以“高效率”著称的VB、Delphi之类,也不逊色,因此在很长的一段时间内,Windows Form成为.NET 桌面领域的主流技术,而且有一大批各式各样的第3方控件,其功能可谓应有尽有,使用方便。

    Windows Form的问题是“千人一面”,要想做出“与众不同”的界面,真得费不少力气。

    .NET 3.0中出现的WPF,在界面设计和用户体验上比Windows Form要强得多,比如其强大的数据绑定、动画、依赖属性和路由事件机制,都非常棒。然而,WPF最头痛的是性能,另外,在需要快速开发原型的场景,WPF暂时还比不上Windows Form方便。

  .NET 4.0中,WPF在性能上有较大的改进,这点在使用WPF开发的Visual Studio 2010上体现极为明显,Visual Studio 2010 CTP和BETA1只能用“惨不忍睹”一词来形容,BETA2就有一个性能上的飞越,但还是不是地玩点“崩溃”、“挂死”的把戏,而当前的RC版本,我觉得其使用体验已经超越了VS 2008。

  我认为,WPF取代Windows Form是必然的。

2 数据存取技术

  (1)ADO.NET。这不用多说了,在实际开发中用得太多了,事实证明了它的成功。

(2)LINQ。

这也是个很大的领域,里面最牛的是LINQ to Object,我一用就喜欢上了。

LINQ to XML也很好,它把程序员从代码中解放出来,可以完成大部分XML存取功能,让大家很高兴有机会能和原先.NET所提供的“一堆”XML相关类说声“不见”。

LINQ to DataSet。作为一个ADO.NET技术的补充,这是一个无足轻重的小卒子,在开发中可以用,也可以直接忽略。

LINQ to SQL和ADO.NET实体框架。这两个技术功能重叠,基本上让人怀疑其中有一个是不是“没有存在的必要”,所以曾有“LINQ to SQL已死”的传言。当然,后来微软公司表态说仍然会继续开发LINQ to SQL的后续版本,争论平息。

但我个人觉得,在实际开发中还是使用ADO.NET实体框架更合适。LINQ to SQL有的功能它都有,而且用起来更为灵活,难得的是它的使用并不比LINQ to SQL复杂多少。

ADO.NET实体框架还延伸到了其它的技术领域,是一项重要的基础数据存取技术。

因此, ADO.NET实体框架 vs LINQ to SQL,前者胜出。

         (3)WCF Data Service。

         这是一项非常值得关注的技术,原先叫ADO.NET Data Service,它体现了“数据是一种服务”的思想,让数据可以通过HTTP请求直接获取,它设计了一套URI模式,可以完成投影、选择、分页等功能,用起来方便灵活。

         我觉得在SOA大行于世的分布式系统时代,WCF Data Service应该会得到应用。

         但这一技术问题在于性能。由于数据需要走互联网,所以如果网速很慢的话,基于此技术搭建的应用程序其用户体验将“惨不忍睹”。而且,互联网服务安全问题非常关键,保证基于WCF Data Service技术搭建的应用程序数据安全,想必将成为开发者最费脑筋的地方。

         (4)WCF RIA Service。

         这个技术与Silverlight密不可分。我还没有系统地了解这一技术领域,不予评说。

3 Web开发技术

         这一领域,没说的,ASP.NET中的Web Form是当之无愧的主流。经过多年的发展,Web Form已高度成熟。VS 2008中加入的AJAX系列组件,如ScriptManger、UpdataPanel之类,再配合一堆的应用了AJAX技术的控件,让Web Form更是如虎添翼。基于这种成熟技术开发Web网站,不管是用户还是开发企业,都比较放心。

         从.NET 3.5 SP1开始,Web领域多了些新东西。

         (1)ASP.NET MVC。MVC这一设计模式已有多年的历史,也有很多的成熟的框架,但在.NET“官方”平台上,却是个新加入的“成员”,并不算成熟,我觉得其应用前景要看看再说。我不知道业界是否已有基于此技术开发的实际项目,有这方面项目经验的朋友,不妨谈谈自己的看法。

         (2)ASP.NET Dynamic Data。这是一个看上去很酷的技术。当使用它来创建网站时,Visual Studio 2010会帮你创建一个DynamicData文件夹,里面放了数十个模板文件,构建了一个网站的“脚手架”,几乎不用编码,就可以生成一个全功能的“CRUD”数据驱动网站。

         它的设计思想很好:底层使用ADO.NET实体框架或LINQ  to SQL构造数据模型,通过提取数据模型中的元数据,动态选择合适的模板生成网页。这就避免了真实项目中不得不为每个数据存取任务设计不同网页的负担,而且这一技术提供了很多的方式去允许你定制网站。

         我当初刚一接触时,也很兴奋,这是个好东西啊!但后来我改变了看法,这一技术的问题在于它过于“自动化”了,而且需要包容数十个文件,让其与现有的ASP.NET网站集成相当不便,配置起来麻烦。

         我个人认为,在现有.NET Web开发技术应用现状之下,任何一个与现有的ASP.NET网站(以Web Form+AJAX为主体技术)集成麻烦的技术,都很难有“美好”的前途。很不幸,ASP.NET Dynamic Data是这样的例子,ASP.NET MVC也有同样的问题,但没有ASP.NET Dynamic Data严重,而且ASP.NET MVC架构清晰,还是比较易于维护。

         (3)Silverlight。这实际上是另一种Web应用架构的代表技术,其立足点在于充分利用客户端的计算资源,可以大大地降低对服务端的依赖,而且易于构造良好的用户体验,我个人认为其发展大有可观。是一个需要重点关注的技术。

4 插件技术

         .NET 4.0引入了一个“Managed Extensibility Framework(MEF)”,我在此郑重推荐!

         MEF通过简单地给代码附加“[Import]”和“[Export]”标记,我们就可以清晰地表明组件之间的“服务消费”与“服务提供”关系,MEF在底层使用反射动态地完成组件识别、装配工作。从而使得开发基于插件架构的应用系统变得简单。够酷的技术!

         另外,请忘记.NET 3.5所引入的“MAF(Managed Add-in Framework )”吧,MAF引入了一个复杂的宿主与插件间的通讯管道架构,仅仅是创建一个最简单的SayHello宿主和插件,你也必须创建多达8个项目!

         最要命的是MAF设计者“想”得过多,设计了复杂的接口和类继承体系,而且选择让插件运行于与宿主不同的应用程序域中,这就使得插件与宿主之间的通讯变得复杂。个人认为,这些实在不是一个好的设计决策。

         我估计,MAF会“无疾而终”。

5 WCF和.NET Remoting

         其实这是一个不需要讨论的问题,有了WCF,我还要Remoting干什么?   因为前者包容后者的所有功能,而且还提供了更多。

         WCF的问题是微软企图用一个框架解决所有的问题,因此其架构非常复杂,任何一名想探究其底层运行机理的人,都必须要有足够的心理准备和耐心。

         我们可以看到WCF向其它领域的渗透,比如前面的WCF Data Service,还有Workflow Service(将工作流发布为WCF服务),看来微软是将“宝”押在WCF上了,凡是带有“服务”字样的,微软都有把它改造为WCF服务的冲动。

         因此,WCF是不得不学习和掌握的技术。

6 多线程与并行计算

         关于并行计算,我已经写过不少文章了,废话少说,在多核时代,我认为.NET并行计算中的任务并行库和并行LINQ,会得到较多的应用。

7 工作流

         这个技术,我看是微软自己把事弄砸了。工作流从.NET 3.0开始引入,到.NET 3.5已经比较完善了,也有了一些实际的应用。但.NET 4.0就来了个另起炉灶,WF4与WF3.5相比,简直是另一个产品,而且WF4的BETA1和BETA2相比,居然在对象模型上也有大的改动,RC版本中的WF4我还没看,不知又有什么变动,应该不会再变了吧?!

         对于这样一个“变色龙”,谁用谁胆大。

8 函数式编程语言F#

         函数式编程很有趣,VS 2010中F#成为.NET正式成员。F#中的许多特性,比如不可更改(immutable)的数据结构,声明性编程风格,强大的类型推断,所有东西都是表达式等,都让习惯了面向对象风格的程序员感到新奇。

         我个人觉得,F#如果用于开发多线程并行计算程序,会有较高的开发效率,而函数式编程的特点,也会使它在科学计算中有较好的表现。但用于开发CRUD之类的MIS系统,至少目前还是免谈吧。

9 云计算

         Visual Studio 2010集成了云计算开发的项目模板。

         云计算是一个说不完的话题。微软在这方面投入巨大。它精心打造了Azure这个云计算平台。了解Azure的最佳方法是看“DAVID CHAPPELL”的文章《INTRODUCING WINDOWS AZURE》,这篇文章可以在微软网站上找到。

         虽然我个人认可云计算是一个大的发展方向,但对于中国,这个技术是一道远方的亮丽风景,仅供观赏。因为国内还没有一个成熟的云计算平台,而微软的Azure目前又没有开放中国大陆的云计算购买服务,加上中国又有特殊的国情,所以一切都只是空中楼阁。

         云计算真正应用于国内,诸位请继续等待吧。

C#.NET各应用领域经典案例开发集锦 包括图形图像处理,多媒体应用,系统文件处理,数据库应用,网络开发,web编程应用,综合实例编程. 立即下载

相关推荐

【VS2017】“LNK1104 cannot open file ‘python39_d.lib‘ “

记录一下编译调用了python代码的C语言源程序时遇到的问题 版本:以python3.9.1为例 先确保你安装了python的debug版本,如果没有,用对应版本安装包可以修改已经安装的python,如图。 选择 “Modify” 选择next 确保最后一项勾选,然后install。 光安装了还不够,需要配置一下C语言编译器。 以VS2017为例: 将python37_d.lib(在安装目录下的libs文件夹里有python39_d.lib)所在文件夹的路径添加到库目录里面,右键你的解决方案,选.

m0_46296905的博客 6474

MAF 项目创建流程

1、创建空项目 2、创建 Appliction 项目 【MAF.AddInApplication】 前台代码 <Window x:Class="MAF.AddInApplication.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ..

LeoChaw 625

(详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)

需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估计要搞吐。然后就想能不能用python的爬虫来实现,虽然过程比较苦(后期改bug改的要吐了)。但是会后还是将需求实现了。这基本也算是入门了 urllib、requests、selenium这几个py...

man_tou_22 1万+

养成这个习惯,学习.NET可以少走很多弯路

随着时代的发展,很多曾经风靡一时的编程语言后来被新的开发语言取代、慢慢走向没落,如:Delphi、Perl、Adobe Flash、Ruby等,但 .NET 始终坚若磐石,它作为一款备受受欢迎的开发平台,到底有什么优势呢? 1. 职业发展:在国内,.NET 不及Java、Python火热,但是.Net职位的竞争激烈程度要低很多,所以.NET开发从业者有更多选择的空间,尤其是工控行业,.NET...

dotNET跨平台 289

学术报告系列(二) - 智能自主作业机器人感知与控制技术及发展趋势

收集整理于2022年模式识别高峰论坛湖南大学王耀南院士报告(报名题目:智能自主作业机器人感知与控制技术及发展趋势)

Make something people want. 4696

突发环境事件怎么模拟?用Python+GIS实现高斯烟团模型(附完整代码)

本文详细介绍了如何利用Python与GIS技术实现高斯烟团模型,用于模拟化工泄漏等突发环境事件的动态扩散过程。通过核心原理讲解、参数快速获取方案、Python代码实现及GIS可视化集成,为环境应急人员提供了一套完整的解决方案。特别适合危险品运输事故等瞬态污染场景的应急决策支持。

weixin_33692284的博客 485

Office365开发系列——开发一个全功能的Word Add-In

2016年10月我参加了在北京举行的DevDays Asia 2016 - Office 365应用开发”48小时黑客马拉松“,我开发的一个Word Add-In Demo——WordTemplateHelper获得了二等奖。在会场有幸结识了陈希章老师,在与陈老师的交流中受益良多,得知陈老师在准备一个Office解决方案系列后,我想把这个Demo的开发过程简要介绍给大家,以支持陈老师的无私奉献,也...

weixin_33733810的博客 914

FPGA之道(22)VHDL基本程序框架

在介绍详细的VHDL语法之前,让我们先来了解一下VHDL代码的基本程序框架,这样可以让我们先对VHDL程序设计有一个整体的概念把握,进而在后续的VHDL语法学习中做到有的放矢。

Reborn Lee 8306

【MAF】MAF插件框架简介

引言 Managed Add-In Framework是一个插件式框架。它有两大作用,一个是解耦,插件和宿主由7个管道组成,两边都有适配器Adapter管道,能最大程度地降低插件和宿主的耦合度;一个是物理隔离,可以有程序域隔离和进程隔离,插件崩溃了不会搞挂宿主。资料 具体的介绍和用法两本书有比较详细的介绍,如下 《C#高级编程(第七版)》 50章MAF 《WPF编...

984

23 中望CAD二次开发(ZRX C++)-自定义实体(二)

本文详细介绍了自定义图形实体,如何实现几何变换、捕捉、节点编辑,并介绍了CAD代理的概念。

cilvsuanna的博客 437

RK3568平台(camera篇)点亮imx586摄像头

mipi摄像头硬件确认点:1.供电:5V,2.8V,1.2V,1.8V,reset脚(硬拉3.3,上电的时候从低到高),pwron脚外接3.3V。2,时钟:MCLKOUT是24兆时钟。3.4组差分mipi线。mipi的data线的波形为方波。

weixin_49303682的博客 7257

抛砖引玉:我看微软.NET各子技术领域之应用前景 【转】

623

【用unity实现100个游戏之7】实现一个类《杀戮尖塔》的卡牌回合制游戏(附项目源码)

【用unity实现100个游戏之7】实现一个类《杀戮尖塔》的卡牌回合制游戏(附项目源码)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1万+

一起谈.NET技术,抛砖引玉:我看微软.NET各子技术领域之应用前景

  从2002年发布.NET 1.0,历经8年发展,.NET发展到了4.0,已经成为一个庞大而复杂的软件开发与运行平台,其架构日益复杂,其应用领域也在不断地扩展,包容了“一堆”的子技术领域。在.NET 4.0即将发布之际,回顾一下已发布的各项.NET技术,看看哪些技术用得很火,哪些被打入冷宫,再猜猜.NET 4.0中可能会有哪些技术会得到“青睐”,是件有意思的事。   1. 桌面应用程序开发技术(...

weixin_33910137的博客 233

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

金老师的文章“抛砖引玉:我看微软.NET各子技术领域之应用前景”

原文出处http://blog.csdn.net/bitfan/archive/2010/03/03/5341985.aspx抛砖引玉:我看微软.NET各子技术领域之应用前景金旭亮         从2002年发布.NET 1.0,历经8年发展,.NET发展到了4.0,已经成为一个庞大而复杂的软件开发与运行平台,其架构日益复杂,其应用领域也在不断地扩展,包容了“一堆”的子技术领域。在.NET 4.0即将发布之际,回顾一下已发布的各项.NET技术,看看哪些技术用得很火,哪些被打入冷宫,再猜猜.NET 4.0中

swimmingfish2004的专栏 784

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

抛砖引玉:我看微软.NET各子技术领域之应用前景【来源网络】

从2002年发布.NET 1.0,历经8年发展,.NET发展到了4.0,已经成为一个庞大而复杂的软件开发与运行平台,其架构日益复杂,其应用领域也在不断地扩展,包容了“一堆”的子技术领域。在.NET 4.0即将发布之际,回顾一下已发布的各项.NET技术,看看哪些技术用得很火,哪些被打入冷宫,再猜猜.NET 4.0中可能会有哪些技术会得到“青睐”,是件有意思的事。 1 桌面应用程序开发技术( Win...

weixin_33768481的博客 116

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

(转)抛砖引玉:我看微软.NET各子技术领域之应用前景

从2002年发布.NET 1.0,历经8年发展,.NET发展到了4.0,已经成为一个庞大而复杂的软件开发与运行平台,其架构日益复杂,其应用领域也在不断地扩展,包容了“一堆”的子技术领域。在.NET 4.0即将发布之际,回顾一下已发布的各项.NET技术,看看哪些技术用得很火,哪些被打入冷宫,再猜猜.NET 4.0中可能会有哪些技术会得到“青睐”,是件有意思的事。 1 桌面应用程序开发技术( Win...

weixin_30768175的博客 92

抛砖引玉:我看微软.NET各个子技术领域应用前景

从2002年发布.NET 1.0,历经8年发展,.NET发展到了4.0,已经成为一个庞大而复杂的软件开发与运行平台,其架构日益复杂,其应用领域也在不断地扩展,包容了“一堆”的子技术领域。在.NET 4.0即将发布之际,回顾一下已发布的各项.NET技术,看看哪些技术用得很火,哪些被打入冷宫,再猜猜.NET 4.0中可能会有哪些技术会得到“青睐”,是件有意思的事。1 桌面应用程序开发技术( Windows Form和WPF)。  在.NET桌面应用程序开发领域,Windows Form是“前辈”,相比以前的老祖

wind681522的专栏 851
上一篇: 从.NET说开去(我的.NET 4.0系列课程开讲)
下一篇: Silverlight4中使用MEF实现页面的动态装配
bitfan
博客等级 码龄26年 4298粉丝 243原创
评论 58
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值