我在一个古老的大型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