首页 > 解决方案 > 关于正确实现的架构 MVVM 问题

问题描述

我看到了在 iOS 中使用 MVVM 架构的不同方式,对此我有几个问题:

1正如“SOLID”中的“D”字母所说,依赖于抽象而不是确切的类型。但是,如果我有简单的 viewController(VC),如果我有简单的 VC 和在 VC 的 viewDidLoad 中初始化的简单 viewModel(VM),我应该使用这种方法吗?尽管有样板代码,但我应该编写协议以实现“SOLID”中的字母“D”,这种方法是否好?

2如果我们查看 rootViewController,我们应该通过 appDelegate 的属性为我们的 viewModel 使用依赖注入,还是可以在 viewDidLoad 中实例化它,这样就不会有依赖注入?

3有时我会看到用于数据绑定的委托,但如果我使用 Boxing 是更好的方法吗?(我知道反应式编程,但我想在这两者之间进行选择)?

谢谢!

标签: iosmvvm

解决方案


  1. 如果您不打算重用它,请不要编写协议。查找一些关于面向协议编程的重要内容。

  2. 从哪里获取视图模型实际上并不重要,您也可以将其注入构造函数或在 viewDidLoad 中获取。

  3. 我不认为那里有更好的,但我不做那么多数据绑定。


推荐阅读