autofac 作用域_c# - 是否有WinForm的Autofac集成库 - 堆栈内存溢出

我已经成功迁移了WinForms应用程序以在不久的Autofac使用Autofac 。 我想要一种具有以下动机的设计。

例如,在ASP.NET MVC应用程序的情况下,找到类似于Web请求的合适范围

尽可能抽象以避免服务定位器模式

我想出一个选择Form作为范围的方法,例如,如果我注入一个视图模型或一个存储库,则当表单关闭时应该将其丢弃,等等。这样,我可以在Form使用构造函数注入就像在Web应用程序中的Controller中一样。 例如

public class UserEditForm : Form {

private reaodnly UserEditViewModel viewModel;

public UserEditForm(UserEditViewModel viewModel) {

this.viewModel= viewModel;

}

public void Load(int userId) {

this.viewModel.Load(userId);

}

...

}

public class UserEditViewModel {

private readonly UserRepository repository;

public UserEditViewModel(UserRepository repository) {

this.repository = repository;

}

...

}

为了尽可能避免使用服务定位器模式,我设计了一个IFormFactory接口,它看起来像这样

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值