仓酷云

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

[学习教程] ASP.NET教程之C#怎样让数据会见历程更通明

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

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

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

x
实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。会见|历程|数据|通明在编写数据库操纵办法时我们常常思索办法外部处置的Connection,Transaction等,次要便利今后分歧办法举行整合扩大。但良多时分写数据库操纵办法都是关闭,在办法外部翻开Connection或Transaction处置;如许即满意现有需求的必要,要省下了挪用办法所带来的贫苦事(由于在挪用办法里必需界说Connection等信息传出来)。固然如许满意了现有的需求,但面临今后在功效扩大必要整合几个办法时成绩就发生了,由于办法是关闭确当你需多个办法同时利用一个Connection或Transaction就必需修正原无方法;固然能够对办法重载一个新版来顺应新的必要,可是代码的修正和重构也不是一件轻松的事情。
复杂地形貌一下成绩:
publicvoida()
{
........
}
publicvoidb()
{
…….
}
  以上两个办法独自利用并没有甚么成绩,由于它们都是自力的。当呈现上面情形又是怎样呢?
Publicvoidc()
{
a();
b();
….
}
  在实行这个办法时有大概要包管a和b内里的数据库会见必需利用统一个Connection,假如必要数据完整整性还要确保两个办法的数据操纵都必需利用统一个Transaction。因为刚入手下手编写a和b办法没有思索这些情形,这个时分我们能做的只要把a和b办法举行重构来满意原有和如今的必要。
  假如我们不修正a和b就可以满意c的必要那是件何等好的事变,如许开辟职员就有更多的工夫去向理营业相干的贫苦事变。偶然想一下dotNET供应一个DataContext(数据库操纵高低文工具)该多好啊,在编写数据库操纵代码时不必体贴利用甚么的Connection和Transaction;经由过程以后的DataContext来断定。固然本人有如许的设法往完成,不外dotNET能供应是件最好不外的事变。
Publicvoidc()
{
using(DataContextcontext=newDataContext())
{
a();
b();
….
}
}
PublicvoidD()
{
using(DataContextcontext=newDataContext())
{
c();
….
}
}
  增补一下:
  实在在我的设法中DataContext纷歧定要显式创立,能够经由过程设置的体例在中程序设置一个默许的DataContext。以下代码的功效没有完整完成。
  Tableorders=newTable("Orders");
Tableorderdetails=newTable("[OrderDetails]");
orderdetails.Delete(OrderDetails._OrderID==10500);
orders.Delete(Orders._OrderID==10500);
  即便不必显式创立DataContext下面代码也能够运转。为了包管数据完全性能够如许做:
using(TransactionContexttran=newTransactionContext())
{
Tableorders=newTable("Orders");
Tableorderdetails=newTable("[OrderDetails]");
orderdetails.Delete(OrderDetails._OrderID==10500);
orders.Delete(Orders._OrderID==10500);
tran.Commit();

  在写代码的历程就能够把这些器材抛开,必要时分界说响应的DataContext就能够了。
  假如必要高度通明性,只要一个DataContext是远远不敷的,必需供应响应数据操纵的封装。
效率会有不少的变化。而实际上java是基于堆栈机器来设计,这和我们常见的基于寄存器的本地机器是差异比较大的。总体来说,这是一种虚拟机的设计思路。
若天明 该用户已被删除
沙发
发表于 2015-1-19 20:57:30 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-25 12:10:32 来自手机 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
蒙在股里 该用户已被删除
地板
发表于 2015-2-2 22:03:50 | 只看该作者
大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
分手快乐 该用户已被删除
5#
发表于 2015-2-8 09:43:48 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-25 08:57:30 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-7 18:39:45 | 只看该作者
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
深爱那片海 该用户已被删除
8#
发表于 2015-3-22 00:30:47 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 09:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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