通过视图模型构造函数(依赖注入)传递的对象实例的理想数量
本文关键字:对象 实例 理想 模型 视图 构造函数 注入 依赖 | 更新日期: 2023-09-27 18:09:47
我正在实现一个项目,主要目标是松散耦合类实现,例如下面,我使用简单的IOC容器将PageNavigation和AppConfig实例注入视图模型。
public MyViewModel(IPageNavigationService PageNavigation, IAppConfig AppConfig) {
//my code
}
- 是否有限制的实例数量,我可以通过构造函数传递?,这可能会导致不可预见的问题。
- 如果我有5到6个对象实例,我需要传递,是否有任何其他方式我可以访问对象实例以外的构造函数,保持松散耦合和动态,所有视图模型的使用默认实例(单例)的对象传递。
通过构造函数传递给视图模型实例的实例数量没有限制。你应该通过构造函数传递ViewModel正常工作所需的所有依赖项。
可选的或提供不同实现的依赖项可以通过PropertyInjection传递。
您还可以定义一个构造函数来获取对IOC-Container的引用,以便ViewModel在构造函数中自行解析必要的依赖项。但是你的视图模型依赖于容器,这有时是不需要的。
public MyViewModel(IocContainer container) {
// resolve dependencies via the container
}