私はしばらくの間 C# でプログラミングを行ってきましたが、デザイン パターンや OOP の適用が苦手で、現在変更しようとしています。
私が抱えている問題は、「SQLConn」というクラスにすべての SQL ステートメントがあることですが、代わりにそれを子クラスに分割したくないということです。
私のアプリケーションには、データベースと、「ルール」と「ログ」の 2 つのテーブルがあります。
私の考えは、(アプリケーションで使用している) テーブルごとに子クラスを作成し、すべてのメソッドをそのクラスに移動して、新しい接続を開くことです。
したがって、SQLConn の子クラスである SQLLog と SQLRules という子クラスがある場合、ユーザーがアプリケーションに新しいルールを挿入するときに、SQLConn.SQLRules の新しいインスタンスを作成し、「InsertRule()」を実行することをお勧めします。また、SQLConn.SQLLog の新しいインスタンスを作成し、"InsertLog("User inserted Rule X")? を実行します。
この投稿によると、1回の接続で多くのSQLコマンドを実行する方が良いですか、それとも毎回再接続する方が良いですか? 接続プールがアクティブになるため、パフォーマンスに大きな違いはありません。
質問を要約すると: 次のような SQL クラスを設計するのは良いことですか? InsertRule()」メソッド
また、アプリケーションの一部で SQLRules と SQLLog の両方が必要な場合、SQLLog と SQLRules の 2 つのインスタンスを作成し、それぞれのメソッドを呼び出す必要がありますか? これは良いデザインですか?
よろしく、トーマス