asp.net – 为什么我应该使用N层方法当使用SqlDatasource时更容易?

在网络开发方面,我一直试图使用SMART而不是很难.因此,在我的AspNet项目中,我的Aproach与数据库交互的时间是:

1)创建我的存储过程

2)在我的aspx页面上拖动一个sqlDatasource控件

3)将DataList控件绑定到我的sqlDatasource

4)插入,更新和使用我的Datalist删除或使用内置的sqlDatasource方法以编程方式删除

MysqLDataSource.InsertParameters["author"].DefaultValue = TextBox1.Text;

MysqLDataSource.Insert();

最近我有一个相对容易的网络项目.所以我决定采用一个三层模型……但我中途疲惫,只是看起来不值得!对于一个可以通过几个sqlDataSource控件轻松完成的项目来说,我似乎工作太辛苦了.

那么为什么N层模型比我的方法更好?它与性能有什么关系吗? ObjectDataSource控件对sqlDataSource控件有什么优势?

解决方法

你倒退了. sqlDataSource方法适用于小型轻量级项目.一旦你变大,你就会想要在很多不同的页面之间重用结构和查询.

使用您的方法意味着将复制/粘贴设计模式从一个页面应用到另一个页面,这样您就可以使用相同的查询.现在想想当事情发生变化时会发生什么(比如数据库结构),你必须在50个页面之间复制这些变化,这些变化都嵌入了sql文字 – 你处于一个受伤的世界.

这就是救援的n层模型 – 数据访问逻辑应该在它自己的层中隔离,并且应该只有一段代码负责某个业务/数据逻辑,如果需要进行更改,那么只有一段需要更改的代码.这种方法的问题在于它需要预先付出更多的努力,并且只有在相当大的项目上才能看到回报.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...