swift mvp demo

2017-11-10  本文已影响0人  今天天气很好嗯

MVP 即 Modal View Presenter(模型 视图 协调器),

MVP 实现了 Cocoa 的 MVC 的愿景。

MVP 的协调器 Presenter 并没有对 ViewController 的生命周期做任何改变,因此 View 可以很容易的被模拟出来。在 Presenter 中根本没有和布局有关的代码,但是它却负责更新 View 的数据和状态。MVC 和 MVP 的区别就是,在 MVP 中 M 和 V 没有直接通信。

MVP 是第一个如何协调整合三个实际上分离的层次的架构模式,既然我们不希望 View 涉及到 Model,那么在显示的 View Controller(其实就是 View)中处理这种协调的逻辑就是不正确的,因此我们需要在其他地方来做这些事情。

例如,我们可以做基于整个 App 范围内的路由服务,由它来负责执行协调任务,以及 View 到 View 的展示。这个出现并且必须处理的问题不仅仅是在 MVP 模式中,同时也存在于以下集中方案中。

MVP模式下的三个特性的分析

任务均摊 -- 我们将最主要的任务划分到 Presenter 和 Model,而 View 的功能较少;

可测试性 -- 非常好,由于一个功能简单的 View 层,所以测试大多数业务逻辑也变得简单;

易用性 -- 代码量比 MVC 模式的大,但同时 MVP 的概念却非常清晰。

demo

https://coding.net/u/jintiantianqihenhao/p/swift-mvp-demo/git

上一篇下一篇

猜你喜欢

热点阅读