0
我正在C#中開發應用程序(但這不相關,因爲我不想使用任何語言工具),我需要處理到數據庫的連接。我會避免明確創建每個方法的接口,如:提供全局訪問數據庫處理程序
private void btnAnteprima_Click(object sender, EventArgs e)
{
SqlConnection myConnection = new SqlConnection("user id=***;" +
"password=***;server=***;" +
"database=***");
myConnection.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("select * from *** where IDCliente=*", myConnection);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
MessageBox.Show(myReader["xyz"].ToString());
}
}
我想是這樣的:
private void btnAnteprima_Click(object sender, EventArgs e)
{
SqlReader myReader = DbFactory.ExecuteQuery("select * from *** where IDCliente=*");
while (myReader.Read())
{
MessageBox.Show(myReader["xyz"].ToString());
}
}
據我所知,使用Singleton模式是沒用甚至有害的:性能條款。我徘徊於工廠模式來實現這一點,但我無法弄清楚如何做到最好。你有沒有例子,紙張來做到這一點?我不想重新發明輪子,我只想使用正確的設計模式,並瞭解車輪背後的原因。
我很確定你使用C#*的事實是相關的。每種語言都有其數據庫抽象API和依賴注入框架,並且很難給出與語言無關的最佳實踐。單身反模式不是一個模式,因爲它的性能,但由於它引起的耦合和缺乏可測試性。 – 2013-04-23 11:24:42
我知道這一點,但我會把我的知識推到框架API和設施之外...... – 2013-04-23 12:15:18
這是一種說「我想重新發明輪子而不是使用標準方式」的新方式嗎? – 2013-04-23 12:52:03