首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

iOS开发之ReactiveCocoa下的MVVM

在之前发表过一篇博文,名字叫做《iOS开发之浅谈MVVM的架构设计与团队协作》,大体上讲的就是使用Block回调的方式实现MVVM的。...不过有一点要说明的就是,不使用ReactiveCocoa是可以实现MVVM的,并非使用MVVM模式你就必须的使用ReactiveCocoa的东西,你可以使用KVO,Block,Delegate,Notification...ReactiveCocoa就是一个响应式编程的框架,它会使MVVM每层之间交互起来更为方便,所以经常和MVVM联系在一起。...在MVVM中引入RactiveCocoa 学以致用,最后来个简单的实例,来感受一下如何在MVVM中使用RactiveCocoa。当然今天RAC的应用是非常简单的,但原理就是这样的。...下方是整个小Demo的工程目录,因为我们今天的重点是如何在MVVM中使用RAC, 所以重点在于RAC的应用,对于MVVM的分层就简化一些。

1.3K60

iOS开发之ReactiveCocoa下的MVVM(干货分享)

在之前发表过一篇博文,名字叫做《iOS开发之浅谈MVVM的架构设计与团队协作》,大体上讲的就是使用Block回调的方式实现MVVM的。...不过有一点要说明的就是,不使用ReactiveCocoa是可以实现MVVM的,并非使用MVVM模式你就必须的使用ReactiveCocoa的东西,你可以使用KVO,Block,Delegate,Navigation...ReactiveCocoa就是一个响应式编程的框架,它会使MVVM每层之间交互起来更为方便,所以长和MVVM联系在一起。...在MVVM中引入RactiveCocoa 学以致用,最后来个简单的实例,来感受一下如何在MVVM中使用RactiveCocoa。当然今天RAC的应用是非常简单的,但原理就是这样的。...2.下方是整个小Demo的工程目录,因为我们今天的重点是如何在MVVM中使用RAC, 所以重点在于RAC的应用,对于MVVM的分层就简化一些。

5.8K30

聊聊iOS开发MVVM的架构设计

前言 在开发App的时候,我们的基本目标一般有以下几点: - `可靠性 - App的功能能够正常使用` - `健壮性 - 在用户非正常使用的时候,app也能够正常反应,不要崩溃` - `效率性 - 启动时间...,耗电,流量,界面反应速度在用户容忍的范围以内` 上面三点是表象层的东西,是大多数开发者或者团队会着重注意的。...现在,MVC 依然是目前主流客户端编程框架,但同时它也被调侃成Massive View Controller(重量级视图控制器), 开发者在开发中无可避免被下面几个问题所困扰: - 厚重的ViewController...基于 MVVM 的更瘦身的架构设计方式 MVVM的出现主要是为了解决在开发过程中Controller越来越庞大的问题,变得难以维护, 所以MVVM把数据加工的任务从Controller中解放了出来,使得...在日常开发中,ViewModel是为了拆分Controller业务逻辑而存在的, 所以ViewModel需要提供公共的服务接口,以便为Controller提供数据。

8.7K92

MVVM模式

MVVM模式 MVVM全称Model-View-ViewModel是基于MVC和MVP体系结构模式的改进,MVVM就是MVC模式中的View的状态和行为抽象化,将视图UI和业务逻辑分开,更清楚地将用户界面...UI的开发与应用程序中业务逻辑和行为的开发区分开来,MVP模式模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的架构型设计模式。...描述 MVVM模式简化了界面与业务的依赖,有助于将图形用户界面的开发与业务逻辑或数据模型的开发分离开来。...Model,ViewModel像是一个黑盒,在开发过程中只需要关注于呈现UI的视图层以及抽象模型的数据层Model,而不需要过多关注ViewModel是如何传递的数据以及消息。...独立开发: 开发人员可以专注于业务逻辑和数据的开发Model,设计人员可以专注于页面设计。 可测试: 界面素来是比较难于测试的,测试行为可以通过ViewModel来进行。

1.2K10

MVVM架构

一.MVVM架构和Jetpack   MVVM即Model-View-ViewModel的缩写,它的出现是为了将图形界面和业务逻辑,数据模型进行解耦。...在前面章节所学习的Jetpack组件,大部分是为了能够更好地架构MVVM应用程序而设计的。...在本章,我们通过ViewModel,LiveData,Room和DataBinding这四个组件来设计一个符合MVVM架构的应用程序。...不过在实际开发中,我们通常会把本地数据库和网络数据进行结合,先把网络请求得到的数据缓存进本地数据库,然后对于要展示的数据,我们直接通过数据库获取,从网络获取的数据不直接进行展示。...请永远记住,MVVM架构中每一层的职责都是清晰的,明确的,且只对其上层负责。这样从长远看来,随着代码量的增加,不容易让项目陷入技术债务中。并且,由于每一层的职责单一,每个模块也更容易进行独立测试。

13120

从Web开发的角度聊聊MVC、MVP和MVVM

本文从 Web 开发的角度聊聊 MVC、MVP 和 MVVM 这三种架构模式。 什么是 M、V?...而剩下的部分(MVC 中的 C、MVP 中的 P、MVVM 中的 VM),就是不同架构中对 M 与 V 之间“交互”的特色处理。...MVVM 可以看出,MVP 虽然实现了 V 和 M 的分离,但是开发者必须提前规定 P 和 V 的交互接口,对开发来说并不友好。...MVVM 通过“双向绑定”实现了这个要求。MVVM 中的 VM 是 View Model 的缩写,代表“数据模型”。 前端框架 Vuejs 就使用了这种设计,使得开发者用起来非常方便。...开发者只需要关注 View Model 和 Model 即可,不再需要对 View 进行显式手动操作:用户事件导致的 View 变动会自然反映在 ViewModel 上,ViewModel 中的数据操作也会自动反映在

91420

高效开发 MVVM 和 databinding 你需要使用的工具

相信不少同学已经开始使用 MVVM 作为自己 Android 开发架构了,但实际上,我在使用过程中查阅资料发现,网上有关 MVVM 的资料并不是很多,这主要是因为 MVVM 还是有一定使用门槛的,并且...MVVM 不一定会帮助你提高开发效率,可能你需要写的代码更多了,或者说为了你为了让代码保持 Databinding 的双向绑定特性,而需要考虑很多业务以外的设计逻辑。...我们使用一个架构或者设计模式,当然是为了更好的开发体验嘛,所以我将给大家介绍几个实用的第三方库和工具,来帮助大家解决这些问题。 1....MVVM 自动代码生成 MVVM 和 MVP 这种架构并不一定会让我们代码量减少,每一个界面可能都要以一种固定的模式创建很多类,那我们为什么不通过一种自动代码生成工具来通过简单的配置就完成这些类的创建呢...网上有很多用 Java 实现的自动生成代码的方式,但每个人实现的 MVP 和 MVVM 架构方式都不同,所以自动化代码也会不同,我来展示下我这边使用的过程吧。

1.1K90
领券