swift - 协议覆盖的 Presenter 层
问题描述
我尝试编写松散耦合的代码,我想知道模型视图演示者架构模式中的演示者层是否应该被协议覆盖?
我有这样的演示者:
class WorkoutPresenter {
weak var delegate: WorkoutPresenterDelegate?
init(delegate: WorkoutPresenterDelegate) {
self.delegate = delegate
}
func startWorkout() {
.
.
}
func endWorkout() {
.
.
.
}
}
后来当我们在视图控制器中初始化这个presenter时,我们不是创建了紧耦合的吗?
class WorkoutViewController {
lazy var presenter = WorkoutPresenter(delegate: self)
}
我应该在演示者中使用协议吗?像这样的东西:
protocol WorkoutProtocols {
func startWorkout()
func endWorkout()
}
之后符合这些协议
class WorkoutPresenter: WorkoutProtocols {
.
.
.
}
class WorkoutViewController: UIViewController {
lazy var presenter: WorkoutProtocols = WorkoutPresenter()
}
现在我们松耦合了?如果我错了请纠正我
我问这个问题是因为我在网络上看到了不同的方法,我有点困惑。
解决方案
推荐阅读
- reactjs - 在子函数中使用过时变量的 useEffect 钩子
- python - 即使在配置之后,通过我的 Django REST 框架 API 获取 CORS 错误
- linux - Gitlab CI 调用 docker install.sh 并始终使用 Sudo 运行指令
- vb.net - 带有 Visual Basic 默认图标的 Exe 快捷方式
- json - 如何解析这个复杂的嵌套 Json
- python - 从 Pandas HTML 列表中解析数据并将它们收集到 DataFrame(或 Excel 电子表格)中
- python - Chunksize 和 concat 的问题。ValueError:没有要连接的对象
- discord - 如何为加入 Discord 公会的新成员自动分配角色?
- tensorflow - 命名 TensorFlow/Keras 检查点
- powershell - 修剪子项的尾随空格的文件名 - Powershell