在 Web 应用程序中,使用 IoC/DI 来获取数据库会话、DAO 等是合理的,因为调用“事件”的不是你,而是注入器。您只需要在事件函数中声明正确的参数。
但在 winforms 应用程序中,调用函数的只有你自己。没有适合您的“查询字符串处理程序”。
真的听起来不可能改变
private void button1_Click(object sender, EventArgs e);
至
private void button1_Click(object sender, EventArgs e, DbSession dbSession);
并且“处理程序”会自动为您注入东西。
所以,事情是:在winforms中我只需要实现一个包含我所有“util”实例的单例或静态类,比如SessionFactory等?那么对于winforms中的注入,没有设计模式或最佳实践吗?