Asp.Net大型项目实践 关键技术方案选择理由及思路
虽然我不喜欢讨论太多理论概念上的东西,但各位“砖家”还是提出了很多非常有针对性的意见,望此帖不要成为口水战才好....现答疑如下(有很多个人理解,不一定正确):
砖家意见请参见:Asp.Net大型项目实践系列导航
为什么选择NHibernate
理由1:对象关系映射技术(ORM)的最主要目的是为了解决关系型数据库与面向对象编程技术不匹配的阻抗问题,何为阻抗?通俗的说面向对象的类往往都存在继承和类间关系与数据库的表不是一一对应的,ORM技术可能主要是想解决这个问题。这里需要说一下好多同学和砖家在用ORM的时候还是喜欢先建表,再工具生成和表字段一一对应的所谓实体,个人认为这不是O->R M,而是R->O M,实际上这种做法完全没有体现ORM的最关键思想,还是以前的“表驱动”(通俗解释:先设计表)而非“业务领域驱动”(通俗解释:先设计真正面向对象的业务实体)。因为我的系统业务比较复杂多变,我希望我能尽可能的随心所欲的按照面向对象的思想去设计我的业务实体,充分发挥面向对象思想的作用,不用关心这些设计是否能被持久化,显然NHibernate让我做到了这点,这是我在项目中选择使用ORM技术和NHibernate的最主要目的。
理由2:通过NHibernate和我们的合理设计,实现了对团队人员在开发的时候屏蔽掉数据库访问的技术细节,让我们更专注于业务和UI实现,在绝大多数情况下(复杂的报表查询和大批量操作依然可能需要存储过程实现)不必去关心SQL语句之类的,这对于一个绝大多数都是数据库操作的信息管理系统来说无疑具有很重要的意义。任何一个技术解决方案都不可能覆盖100%的需求,能用20%的精力,解决90%的问题就算是很成功了。
理由3:因为这个系统并不是只给一家医院使用,不同医院所使用的数据库产品是不一样的。从工程角度不能强制要求客户使用固定的数据库产品,NHibernate很大程度上屏蔽了不同数据库产品之间差异,使我不必对不同数据库产品分别写具体实现。
关于效率:“效率YY砖家”说:NHibernate效率低;“大型系统砖家”说:如果并发1W,NHibernate玩不转;弦哥说:
NHibernate这个技术本来长项就不在效率,而在以上3个理由(也许还有一些..),拿NHibernate和直接Ado.Net比效率就像拿c#和汇编比效率一样可笑。
Hibernate+Spring在J2EE里长期作为教科书式的解决方案,无论在国内还是国外都有非常多的大型系统成功案例,从这个意义来说也许Hibernate在效率上并非如�
相关文档:
啟動:Microsoft .NET Framework 2.0 Configuration-->Runtion Security Policy-->右鍵-->Adjust Security-->Make changes to this &nbs ......
在创建网站中,常常会使用到身份验证。asp.net中内置了几种身份验证的方式,如Windows、froms、Passport等。这几种身份验证的方式各有不同。
一般来说,网站的身份验证方式都会经过以下几个步骤:
1、输入用户名和密码,单击确定按钮。
2、在后台判断用户名和密码是否正确,如果错误返回提示;如果正确,进入可访问的� ......
Asp.net中的日期处理函数
//2009年4月24日
this.TextBox6.Text = System.DateTime.Now.ToString("D");
//2009-4-24
this.TextBox7.Text = System.DateTime.Now.ToString("d");
//2009年4月24日 16:30:15
this.TextBox8.Text = System.DateTime.Now.ToString("F");
//2009年4月24日 16:30
this.TextBox9.Text ......
1、DateTime 数字型
System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
& ......