これは、実装の問題ではなく設計の問題です。データベースへの VB.NET フロント エンドがあります。現在の設計では、メタ データのテーブルごとにテーブルを使用して、「フロント エンドで SQL を使用しない」ポリシーを適用しています。STORED PROC スパゲッティ コードがわずかに散らばっているため、私たちが行っていることはハード コーディングよりも悪いと考えています。テーブルの完全修飾名を作成するために使用される動的 SQL が多数あります。これらは、たとえばフラット テキスト ファイルの実際のロードを処理する別の STORED PROC に送り返されます。
ID DATA_TABLE_NAME DATA_TABLE_SCHEMA PTR_TABLE_NAME PTR_TABLE_SCHEMA
1 datatable DBO datatable_ptr DBO
したがって、データ テーブル名とテーブル ポインターを取得し、データベース .dbo.datatable のような完全な名前を送信する VB.NET フロント エンドのクラスにマッシュアップするクラスがあります。これは、database.dbo.datable_ptr にマップされ、フラット テキスト ファイルをロードするためのグローバル一時テーブル。さて、誰かがこの厄介なメタデータの小さなテーブルに行を追加し、それが VB.NET フロントエンドを破壊しました! これを行うためのより良い方法が必要ですが、私はより良い一般的な解決策を考え出すのに十分な経験がありません.
プログラマーは、コードの読みやすさと保守性を維持しながら、T-SQL と VB.NET を使用したコードの再利用と汎用プログラミングをどのように強調するのでしょうか? より実行可能な解決策を教えてくれるデザイン パターンやクック ブックに関する推奨事項はありますか?