.net – SqlDataSource与ObjectDataSource
如果一个网页需要一些数据,为什么不只有一个SQLDataSource调用存储过程?为什么要使用ObjectDataSource调用一个业务对象,然后调用存储过程?我明白,构建在.net框架上的其他应用程序(让桌面应用程序)可以访问业务对象,但是如果应用程序永远只是一个Web应用程序呢?
要更清楚: 什么时候应该使用SqlDataSource或ObjectDataSource? 一个人如何激励选择? 解决方法
只有一个SQLDataSource才是完美的,如果它只是一个演示,一个原型,或一个快速的黑客.它很快,很容易,它只是工作,并给你你需要的结果.
然而,当应用程序长期设计和构建时,并且预期(要求,客户愿望,最终数据库模式)可能会改变,那么引入适当的“业务”层可能会更有意义 – 将业务对象建模为对象,然后提供从基础数据库到这些业务对象的映射. 俗话说 – 你可以通过一层间接(或抽象)来解决计算机科学中的任何事情 – 这同样适用. 确定:您可以直接访问数据库,并且确定首先和第一次迭代可能(或可能)最快的方式.但是从长远来看,当应用程序建成后,通常是一个快速而又脏的方式 – 维护成本,维护成本,根据您和您的客户需求进行更改所需的成本和工作将会增长而且很快,在努力的过程中,这种快速的解决方案看起来并不好看. 所以总结一下我的观点:是的,最初使用直接的SQL数据源可能会更快更容易 – 所以使用它就是重要的一点:为快速演示,一个概念验证样式的应用程序完成任务.但从长远来看,当您看一下应用程序的使用寿命时,通常值得投入更多(设计和编码)的努力来添加这一层抽象,以便您的网页不直接依赖于下面的数据库. 渣子 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 是否可以有条件地包含CSS?
- asp.net – 未处理的IIS异常 – 如何跟踪它
- asp.net – 如何使用resxresourcewriter写入所有三个值?
- razor – MVC 4 ActionLink Dictionary htmlAttributes不起
- asp.net-core – 如何使用StructureMap注册表在单独的项目中
- asp.net-mvc – ASP.NET MVC 5:使用站点模板无限重定向到登
- asp.net – Microsoft.Jet.OLEDB.4.0未在本地系统中注册
- asp.net-mvc-4 – 如何配置使用Authorize(Roles)属性时会发
- asp.net-mvc – 测量时间调用ASP.NET MVC控制器操作
- 如何使reCAPTCHA与ASP.Net(验证码)中的ValidationGroup一起