c# – 在DAL中使用Singleton Pattern的优点和缺点
作者:互联网
我已经要求使用单例模式实现DAL,但我认为很难汇集连接,使用transactions..etc
我想了解优缺点,并且想知道汇集连接的最佳方法,因为我正在开发的站点可以有超过500个并发用户.
DB Server是Oracle 10g.
DAL使用Enterprise Library 3.1
解决方法:
单例模式非常适合DAL – 我在我自己的企业Web应用程序中使用它(数百个用户和20个单独的类中的2,000多个方法).连接池确实由ado.net和sql server本身处理得最好.如果您想拥有多种类型的后端服务器,那不是问题.即使使用单例模式,您可能还需要一个集中的数据访问类来处理实际直接调用数据库的细节(参数,文本/过程名称,凭据/连接字符串全部传入).
在我的情况下,单个上的每个方法对应1:1与我的数据库中的存储过程.这基本上为每个存储过程创建了一个C#“前端”钩子,因此从语法上讲,它们几乎可以像本机C#代码一样被调用.它使得对DAL的调用非常简单.由于有大量的SP,我有多个单身人士.每个SP都有一个前缀,如Development_,或Financial_,或Organization_或其他.然后我有一个与每个对应的单例类,如Development,Financial或Organization.因此,在C#中的sp Organization_ViewData将是名为Organization的单例类上名为ViewData的方法.
当然,这只是一种方法,但我发现在过去的六年中,它与多个开发人员和大量代码一起工作得非常好.主要是一致性是关键.如果前端程序员在一个单独的代理程序上查看方法的名称,那么应该告诉它们到达数据库端的确切位置.这样,如果出现问题,或者某人不得不搜索代码以试图理解它,那么必须进行较少的跟踪.
标签:c,singleton,data-access-layer 来源: https://codeday.me/bug/20190627/1302314.html