2012-08-05 50 views
-1

對於一個愛好項目,我正在構建一個應用程序來跟蹤我的錢。註冊進出的所有東西。我正在使用sqlite作爲數據庫後端。 我有兩種數據訪問模式。數據庫訪問:一個主數據庫對象或有對象自己調用查詢?

  • 創建一個主對象作爲一種數據庫連接器,其中包含執行查詢,並提供所需的數據集作爲對象的列表方法
  • 有誰需要數據執行查詢自己
  • 對象

其中哪一個是'最好的',爲什麼?還是有不同的,更好的模型呢?

+0

我會最初採取最簡單的路線,將SQL嵌入到任何需要的地方。如果有一個很好的理由將它移動到一個文件,這聽起來像是一個非常簡單的重構。 – Andomar 2012-08-05 18:37:11

+0

我使用組合。實際SQL代碼的一個「主」連接對象包含在需要它的單獨模型中。 – Ben 2012-08-05 18:46:46

+0

「最好的」在旁觀者眼中 - 請提供一個具體的問題,而不是討論的邀請...... – 2012-08-05 21:48:10

回答

1

後面的選項更好。在第一種選擇中,您最終必須觸摸您的通用數據訪問對象,以便對代碼進行任何更新,而不僅僅是顯示邏輯的更改。如果你有不同的數據訪問對象,那麼你將擁有更多可測試的,可維護的代碼。

我建議你閱讀一下模型 - 視圖 - 控制器範例。維基百科上的文章是一個很好的開始:http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

另外,你沒有說你正在編碼哪種語言/平臺,但大多數平臺都有很多選項可以從數據庫中自動生成數據訪問類的起點。你可能會發現有用的東西。

0

真的很多東西,要避免的是在你的代碼庫中使用「相同」的sql。

重點是。您剛剛向Table1添加了一個新列。當你在文件「Table1」中查找時,你會得到多少點擊以及在哪裏。

如果你使用一個類,並且有很多數據庫操作,它會很快變得非常混亂,但是如果你有一個接口(比如IModel)和一個實現,你可以很容易地交換後端。

那麼有多少個數據庫操作,它有多大可能會離開SqlLite。