reactivecocoa框架 、MVC 和 MVVM 的理解
2017-08-22 17:48
351 查看
1.MVVM
ViewModel: 相比较于MVC新引入的视图模型,是视图显示逻辑、验证逻辑、网络请求等代码存放的地方。
2.RAC 结合了函数式编程和响应式编程的框架.提供了一个单一的、统一的方法去处理异步的行为,包括delegate方法,blocks回调,target-action机制,notifications和KVO.。同一个业务逻辑终于可以在同一块代码里完成了,将UI事件,逻辑处理,文件或数据库操作,异步网络请求,UI结果显示,这一大套统统用函数式编程的思路嵌套起来。
1
3.2
3.3
模仿masonry,写一个加法计算器,练习链式编程思想。
3.4
3.5
用函数式编程实现,写一个加法计算器,并且加法计算器自带判断是否等于某个值.
4. RACSignal使用步骤:
4.1.创建信号 + (RACSignal *)createSignal:(RACDisposable * (^)(id<RACSubscriber> subscriber))didSubscribe
4.2.订阅信号,才会激活信号. - (RACDisposable *)subscribeNext:(void (^)(id x))nextBlock
4.3.发送信号 - (void)sendNext:(id)value
5.RACCommand使用步骤:
5.1.创建命令 initWithSignalBlock:(RACSignal * (^)(id input))signalBlock
5.2.在signalBlock中,创建RACSignal,并且作为signalBlock的返回值
5.3.执行命令 - (RACSignal *)execute:(id)input
ViewModel: 相比较于MVC新引入的视图模型,是视图显示逻辑、验证逻辑、网络请求等代码存放的地方。
2.RAC 结合了函数式编程和响应式编程的框架.提供了一个单一的、统一的方法去处理异步的行为,包括delegate方法,blocks回调,target-action机制,notifications和KVO.。同一个业务逻辑终于可以在同一块代码里完成了,将UI事件,逻辑处理,文件或数据库操作,异步网络请求,UI结果显示,这一大套统统用函数式编程的思路嵌套起来。
1
面向过程:处理事情以过程为核心,一步一步的实现。
3.2
面向对象:万物皆对象
3.3
链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。a(1).b(2).c(3)
链式编程特点:方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值)
代表:masonry框架。
模仿masonry,写一个加法计算器,练习链式编程思想。
3.4
响应式编程思想:不需要考虑调用顺序,只需要知道考虑结果,类似于蝴蝶效应,产生一个事件,会影响很多东西,这些事件像流一样的传播出去,然后影响结果,借用面向对象的一句话,万物皆是流。
代表:KVO运用。
3.5
函数式编程思想:是把操作尽量写成一系列嵌套的函数或者方法调用。
函数式编程特点:每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果)
代表:ReactiveCocoa。
用函数式编程实现,写一个加法计算器,并且加法计算器自带判断是否等于某个值.
4. RACSignal使用步骤:
4.1.创建信号 + (RACSignal *)createSignal:(RACDisposable * (^)(id<RACSubscriber> subscriber))didSubscribe
4.2.订阅信号,才会激活信号. - (RACDisposable *)subscribeNext:(void (^)(id x))nextBlock
4.3.发送信号 - (void)sendNext:(id)value
5.RACCommand使用步骤:
5.1.创建命令 initWithSignalBlock:(RACSignal * (^)(id input))signalBlock
5.2.在signalBlock中,创建RACSignal,并且作为signalBlock的返回值
5.3.执行命令 - (RACSignal *)execute:(id)input
相关文章推荐
- 如何理解前端框架中的MVVM,MVC,MVW?他们的区别和适用场景分别是什么?
- ReactiveCocoa框架菜鸟入门(二)——MVVM架构与ReactiveCocoa框架
- 【iOS】小项目框架设计(ReactiveCocoa+MVVM+AFNetworking+FMDB)
- Android-UI层的三种框架模式-MVC、MVP、MVVM
- MVVM without ReactiveCocoa
- 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
- 理解MVC 框架
- 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
- iOS开发之利用MVVM框架来优化项目结构。对Controller瘦身以及MVC向MVVM框架的迁移。
- ReactiveCocoa - iOS开发的新框架
- ReactiveCocoa - iOS开发的新框架
- 认清Android框架 MVC,MVP和MVVM
- MVC、MVVM、RaectiveCocoa的总结
- Android产品研发(二十五)-->MVC/MVVM/MVP简单理解
- 认清Android框架 MVC,MVP和MVVM
- ASP.NET MVC框架下使用MVVM模式
- ASP.NET MVC框架下使用MVVM模式
- MVC,MVVM简单理解
- MVVM With ReactiveCocoa
- MVVM With ReactiveCocoa