我在一個古老的大型WinForms項目中工作,該項目包含許多win表單庫。代碼中的單獨SQL字符串
每種形式在方法中使用硬編碼的sql命令。有時,相同的SQL字符串會被重複,並修改一個我應該研究表單代碼中的「相似」字符串。
我知道這個架構並不是非常漂亮,但目前我們無法執行大型架構修改。我認爲要做一些「小小的步驟」來改善UI和BD邏輯的分離......
第一個「步驟」,例如,我認爲用代碼中的sql字符串「分開」。如何使用Resources,一個特殊的類,一個XML文件來實現?
變種I - 使用指定的資源
' ancient variant '
_SqlPeriod = String.Format("SELECT * FROM DBO.GP_PERIOD WHERE PERIOD = {0} ORDER BY LABEL", Me._Period)
' a better way (?) ... '
_SqlPeriod = String.Format(My.Resources.ResourceManager.GetString("SelectAPeriod"), Me._Period)
每個表單類,每個項目或每個解決方案? – serhio 2011-04-22 09:18:53
我以這種方式工作,一個班級做這項工作。每個表格,項目,解決方案的類?取決於您的項目大小和SQL跨項目使用情況(您是否在所有項目之間使用相同的代碼?)。如果是的話,一個包含你班級的項目將是最好的選擇。 – 2011-04-22 09:51:46
@serhio:如果您將課程放入其自己的項目中並且僅僅使用該項目一次,那麼您就沒有任何問題。 「每個表格」對我來說似乎「不集中」。 – 2011-04-22 10:09:28