在网络开发方面,我一直试图使用SMART而不是很难.因此,在我的AspNet项目中,我的Aproach与@R_301_457@交互的时间是:
1)创建我的存储过程
2)在我的aspx页面上拖动一个sqlDatasource控件
3)将DataList控件绑定到我的sqlDatasource
4)插入,更新和使用我的Datalist删除或使用内置的sqlDatasource方法以编程方式删除
MysqLDataSource.InsertParameters["author"].DefaultValue = TextBox1.Text; MysqLDataSource.Insert();
最近我有一个相对容易的网络项目.所以我决定采用一个三层模型……但我中途疲惫,只是看起来不值得!对于一个可以通过几个sqlDataSource控件轻松完成的项目来说,我似乎工作太辛苦了.
那么为什么N层模型比我的方法更好?它与性能有什么关系吗? ObjectDataSource控件对sqlDataSource控件有什么优势?
解决方法
你倒退了. sqlDataSource方法适用于小型轻量级项目.一旦你变大,你就会想要在很多不同的页面之间重用结构和查询.
使用您的方法意味着将复制/粘贴设计模式从一个页面应用到另一个页面,这样您就可以使用相同的查询.现在想想当事情发生变化时会发生什么(比如@R_301_457@结构),你必须在50个页面之间复制这些变化,这些变化都嵌入了sql文字 – 你处于一个受伤的世界.
这就是救援的n层模型 – 数据访问逻辑应该在它自己的层中隔离,并且应该只有一段代码负责某个业务/数据逻辑,如果需要进行更改,那么只有一段需要更改的代码.这种方法的问题在于它需要预先付出更多的努力,并且只有在相当大的项目上才能看到回报.