我有一个带有共享字段和函数的 BaseDataClass
Protected Shared dbase as SqlDatabase
Protected Shared dbCommand as DBCommand
...
//also have a sync object used by the derived classes for Synclock'ing
Protected Shared ReadOnly syncObj As Object = New Object()
Protected Shared Sub Init() //initializes fields, sets connections
Protected Shared Sub CleanAll() //closes connections, disposes, etc.
我有几个派生自这个基类的类。派生类具有Shared
可以直接从 BLL 调用而无需实例化的所有函数。
这些派生类中的函数调用基类 Init(),调用它们特定的存储过程,调用基类 CleanAll(),然后返回结果。
因此,如果我有 5 个派生类,每个派生类有 10 个函数,总共有 50 个可能的函数调用,因为它们都是Shared
,CLR 一次只调用一个,对吗?所有调用都排队等待,直到每个Shared
函数完成。
是否有更好的设计, Shared
在 DAL 中具有功能并且仍然具有基类功能?或者因为我有一个基类,是否最好转向 DAL 中的实例方法?