仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1129|回复: 12
打印 上一主题 下一主题

[学习教程] ASP.NET网站制作之.NET不成变汇合已正式公布仓酷云

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一般的指的.net就是跟net网页编程相对的那种,主要是做企业级应用的。你如果想学这个,主要就是学C#和数据库。(ASP.NET好像很重要的,应该也要学的,ASP.NET上好像可以结合VB和C#等多种语言,但是微软主推C#)微软基本类库(BaseClassLibrary)团队已完成了.NET不成变汇合的正式版本,但不包含ImmutableArray。与其一同公布的还包含针对别的不成变对象范例的计划指南。
假如你必要在多个线程中平安地共享汇合,而且同意每一个线程在必要时对其内容举行改动。这类场景就是不成变汇合所计划的初志。只读汇合在利用时必要复制汇合中的全体内容,而新的不成变汇合能够以一种更高功能的体例从一个现有汇合中举行创立。
利用不成变汇合必要出格小心,由于你很简单毛病地写成“list.Add(item)”,而准确的办法是“list=list.Add(item)”。乃至编译器也大概发生相似的毛病,这也是为何不成变汇合不撑持机关函数的缘故原由。思索以下代码:
list=newImmutableList<int>{1,2,3};
在编译后会发生以下代码:
temp=newImmutableList();temp.Add(1);temp.Add(2)temp.Add(3)list=temp;
因为3次Add办法的了局都被抛弃,终极全部汇合包括的项数量为0,而不是希冀中的3。
不成变对象指南ImmoLendwerth倡议,当你在创立本人的不成变对象时,在个中到场得当的WithXxx办法。对复杂的对象来讲,为每个属性创立一个WithXxx办法便可。当属性值必要变更时,该办法会前往以后对象的一个拷贝。
假如某属性代表了一个分离,那末这类形式就必要一点变更。以下这段代码来自Immo的公布声明:
classOrder
{
publicOrder(IEnumerable<OrderLine>lines)
{
Lines=lines.ToImmutableList();
}
publicImmutableList<OrderLine>Lines{get;privateset;}
publicOrderWithLines(IEnumerableOrderLine>value)
{
returnObject.ReferenceEquals(Lines,value)
?this
:newOrder(value);
}
}
如你所见,WithLines办法可承受恣意IEnumerable。因而你能够传送一个新创立的ImmutableList对象,大概是某个LINQ表达式的了局。这类体例已足以满意需求了,不外他还倡议供应某些帮助办法:
classOrder
{
//...
publicOrderAddLine(OrderLinevalue)
{
returnWithLines(Lines.Add(value));
}
publicOrderRemoveLine(OrderLinevalue)
{
returnWithLines(Lines.Remove(value));
}
publicOrderReplaceLine(OrderLineoldValue,OrderLinenewValue)
{
returnoldValue==newValue
?this
:WithLines(Lines.Replace(oldValue,newValue));
}
}
ImmutableArray被移除
因为功能方面的缘故原由,ImmutableArray从终极的公布版本中被移除。其缘故原由是:为了满意内存功能目标,ImmutableArray必需计划成一个值对象,而且为了坚持值对象的语义,ImmutableArray的默许实例必需体现为一个空数组情势。不幸的是,为了到达这一点,对空值的检测(nullcheck)会使得C#没法移除对数组界限的检测,而这一点是为到达优秀CPU功能的一个主要思索事项。
因为ImmutableArray类关于Roslyn编译器项目十分主要,计划者曾思索删除会招致功能成绩的空值检测功效,但又因而发生了别的的成绩,Immo如许写道:
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。
乐观 该用户已被删除
沙发
发表于 2015-1-20 18:59:39 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
海妖 该用户已被删除
板凳
发表于 2015-1-29 15:03:59 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
活着的死人 该用户已被删除
地板
发表于 2015-2-5 01:19:11 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
若天明 该用户已被删除
5#
发表于 2015-2-11 00:24:15 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
再现理想 该用户已被删除
6#
发表于 2015-2-14 07:28:52 | 只看该作者
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
小魔女 该用户已被删除
7#
发表于 2015-2-17 17:41:37 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
山那边是海 该用户已被删除
8#
发表于 2015-3-2 10:19:52 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-11 03:05:14 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
简单生活 该用户已被删除
10#
发表于 2015-3-11 06:37:00 | 只看该作者
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
小妖女 该用户已被删除
11#
发表于 2015-3-11 19:00:44 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
不帅 该用户已被删除
12#
发表于 2015-3-19 08:17:54 | 只看该作者
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
谁可相欹 该用户已被删除
13#
发表于 2015-3-27 15:09:59 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 21:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表