Webアプリでは、IoC / DIを使用してデータベースセッションやDAOなどを取得するのが合理的です。これは、「イベント」を呼び出しているのはあなたではないため、インジェクターです。イベント関数で適切なパラメータを宣言する必要があります。
しかし、winformsアプリでは、関数を呼び出すのはあなたとあなただけです。「クエリ文字列ハンドラ」はありません。
から変更することは本当に不可能に聞こえます
private void button1_Click(object sender, EventArgs e);
に
private void button1_Click(object sender, EventArgs e, DbSession dbSession);
そして「ハンドラー」は自動的にあなたのためにものを注入します。
つまり、WinFormsでは、SessionFactoryなどのすべての「util」インスタンスを含むシングルトンまたは静的クラスを実装する必要がありますか?では、WinFormでの注入の場合、デザインパターンやベストプラクティスはありませんか?