这更像是一个设计而不是实现问题。我们的数据库有一个 VB.NET 前端。当前的设计是使用元数据表来执行“前端无 SQL”策略。我认为我们所做的事情比硬编码更糟糕,因为我们现在有了一些 STORED PROC 意大利面条代码。我们有很多动态 SQL 用于构建表的完全限定名称,然后将这些名称发送回另一个存储过程,例如处理平面文本文件的实际加载。
ID DATA_TABLE_NAME DATA_TABLE_SCHEMA PTR_TABLE_NAME PTR_TABLE_SCHEMA
1 datatable DBO datatable_ptr DBO
所以我们有一个类,它将获取数据表名称和表指针,并将其混合到 VB.NET 前端中的一个类中,该类发送一个全名,如 database.dbo.datatable 映射到 database.dbo.datable_ptr 并使用全局临时表加载平面文本文件。好吧,有人在这个讨厌的元数据小表中添加了一行,它破坏了 VB.NET 前端!必须有更好的方法来做到这一点,但我没有足够的经验来提出更好的通用解决方案。
程序员究竟如何强调代码重用和使用 T-SQL 和 VB.NET 的通用编程,同时保持代码的可读性和可维护性?有没有人对设计模式的书籍或烹饪书有一些建议,可以为我指出一些更可行的解决方案?