扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:赛迪网 来源:limeinan 2007年8月24日
关键字: 数据体系 数据库 SQL Server SQL Server 2000
在应用程序逻辑中使用.NET类
上面那家公司在经过一段曲折后所发现的问题,大多数体系设计师在体系设计阶段都会重新认识到——应用程序逻辑包含在一组.NET类的n层体系可以增加该应用程序的灵活性和可测性。由于TSQL是一种以管理数据为主要目的的语言,因此它不够灵活,但是我们仍可以用TSQL编写出复杂的事务逻辑。
如果开发者使用.NET框架,那么他们可以在开发核心事务过程时做出自己的语言选择。这个灵活性可以让你对应用程序要求和开发语言或者资源进行最合理的搭配。而且如果适当开发,封住这些事务过程的对象可以在多台机器上运行并共享同样的底层数据库server。在与处理TSQL事务逻辑无关的情况下,SQL server可以应付大量的并发请求。
行操作(row operation)和集操作(set operations)
在规划体系阶段时判断使用行操作还是集操作的一个指导思想就是:如果使用TSQL就使用集操作,如果使用.NET则进行行操作。通过网络连接来提供大量的数据会影响应用程序的整体性能,所以只要有可能就使用server来处理它们——这样做是很有意义的。但是从内存和处理能力的角度来看,SQL Server的指针(cursor)是非常昂贵的对象,因此创建一个指针来遍历集合中的所有记录并依次处理这些记录一般来说并没有多大意义。
当你需要执行基于行的处理,而这些处理包括了复杂的程序逻辑或者占用CPU比较厉害的操作时,你就应该从server中查询这些行并在中间层来处理它们。
如果你想通过一个例子来看看如何把数据访问逻辑封装到一个中间层对象中去,请从MSDN中下载数据访问应用程序模块。这是一个提供代码的、可重用的数据访问子系统,你可以根据它来编写自己的数据库或者特性应用程序的数据访问对象。
通过创建可重用的.NET应用程序框架来处理大多数应用程序逻辑、并用基于TSQL的保存过程来作为服务器端的集操作的安全限制和机制,那么你就可以创建同时拥有TSQL和.NET这两者优点的应用程序了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者