babakj
یک شنبه 24 آذر 1387, 02:04 صبح
با توجه به اینکه مایکروسافت روش Static Initialization از پیاده سازی سینگلتون را مطرح کرده و من نیز آنرا انجام دادم در هنگام پیاده سازی به مورد جالبی رسیدم که هر دو نمونه هم کار می کند - لطفا بفرمایید که کدام یک بهتر است و بار سرور را کمتر می کند و از کانکشن پول Conection pooling پشتیبانی بهتری می نماید ؟
Private Shared ReadOnly m_instance As New DbConnection()
Friend Connection As New SqlConnection(DataBase.ConnectionString)
Private Sub New()
End Sub
Public Shared ReadOnly Property GetInstance() As DbConnection
Get
Return m_instance
End Get
End Property
Friend Sub Open()
If ConnectionState() = Data.ConnectionState.Closed Then
Connection.Open()
End If
End Sub
Friend Sub Close()
Connection.Close()
End Sub
Private Function ConnectionState() As System.Data.ConnectionState
Return Connection.State
End Function
و این یکی هم کد دوم
Private Shared ReadOnly m_instance As New DbConnection()
Friend Shared Connection As New SqlConnection(DataBase.ConnectionString)
Private Sub New()
End Sub
Public Shared ReadOnly Property GetInstance() As DbConnection
Get
Return m_instance
End Get
End Property
Friend Sub Open()
If ConnectionState() = Data.ConnectionState.Closed Then
Connection.Open()
End If
End Sub
Friend Sub Close()
Connection.Close()
End Sub
Private Shared Function ConnectionState() As System.Data.ConnectionState
Return DbConnection.Connection.State()
End Function
ممنون:قلب:
اینم لینک مایکروسافت در مورد پیاده سازی الگوی سینگلتون Singleton pattern
http://msdn.microsoft.com/en-us/library/ms998558.aspx
Private Shared ReadOnly m_instance As New DbConnection()
Friend Connection As New SqlConnection(DataBase.ConnectionString)
Private Sub New()
End Sub
Public Shared ReadOnly Property GetInstance() As DbConnection
Get
Return m_instance
End Get
End Property
Friend Sub Open()
If ConnectionState() = Data.ConnectionState.Closed Then
Connection.Open()
End If
End Sub
Friend Sub Close()
Connection.Close()
End Sub
Private Function ConnectionState() As System.Data.ConnectionState
Return Connection.State
End Function
و این یکی هم کد دوم
Private Shared ReadOnly m_instance As New DbConnection()
Friend Shared Connection As New SqlConnection(DataBase.ConnectionString)
Private Sub New()
End Sub
Public Shared ReadOnly Property GetInstance() As DbConnection
Get
Return m_instance
End Get
End Property
Friend Sub Open()
If ConnectionState() = Data.ConnectionState.Closed Then
Connection.Open()
End If
End Sub
Friend Sub Close()
Connection.Close()
End Sub
Private Shared Function ConnectionState() As System.Data.ConnectionState
Return DbConnection.Connection.State()
End Function
ممنون:قلب:
اینم لینک مایکروسافت در مورد پیاده سازی الگوی سینگلتون Singleton pattern
http://msdn.microsoft.com/en-us/library/ms998558.aspx