ios - 关于正确实现的架构 MVVM 问题
问题描述
我看到了在 iOS 中使用 MVVM 架构的不同方式,对此我有几个问题:
1正如“SOLID”中的“D”字母所说,依赖于抽象而不是确切的类型。但是,如果我有简单的 viewController(VC),如果我有简单的 VC 和在 VC 的 viewDidLoad 中初始化的简单 viewModel(VM),我应该使用这种方法吗?尽管有样板代码,但我应该编写协议以实现“SOLID”中的字母“D”,这种方法是否好?
2如果我们查看 rootViewController,我们应该通过 appDelegate 的属性为我们的 viewModel 使用依赖注入,还是可以在 viewDidLoad 中实例化它,这样就不会有依赖注入?
3有时我会看到用于数据绑定的委托,但如果我使用 Boxing 是更好的方法吗?(我知道反应式编程,但我想在这两者之间进行选择)?
谢谢!
解决方案
如果您不打算重用它,请不要编写协议。查找一些关于面向协议编程的重要内容。
从哪里获取视图模型实际上并不重要,您也可以将其注入构造函数或在 viewDidLoad 中获取。
我不认为那里有更好的,但我不做那么多数据绑定。
推荐阅读
- cookies - 当我们“拒绝”同意在网站上进行跟踪时,网站如何“知道”我们拒绝了?
- php - 如何在 Laravel 模型关系中传递参数
- javascript - 如何在Angular 8中使用材料显示带有observabele的过滤项目?
- django - Django register.tag 将动态变量作为 kwarg
- c# - 如何从 Owin 上下文中获取查询字符串参数?
- performance - 实体框架比 SSMS 慢得多
- python - 为什么在 KNN 算法中 K 值较高时测试错误率会增加?
- macos - MySQL Workbench 版本 8.0.17 在 MacOS Mohave 10.14.6 上静默死去
- vim - Vim 自定义命令:在 shell 中运行一个命令,然后在 vim 中运行一个命令
- mysql - 如何删除两个大表的析取行?