博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Kotlin协程DSL打造MVVM架构App -- 基础知识
阅读量:7256 次
发布时间:2019-06-29

本文共 913 字,大约阅读时间需要 3 分钟。

Coroutines, 是Kotlin的协程库。本质上,协程是轻量级的线程,除了更高效地实现并发, 使用它还能够桥接阻塞与非阻塞的世界。简单示例:

/*** Wait one second then display a snackbar.*/fun onMainViewClicked() {   // launch a coroutine in viewModelScope   viewModelScope.launch {       // suspend this coroutine for one second       delay(1_000)       // resume in the main dispatcher       // _snackbar.value can be called directly from main thread       _snackBar.value = "Hello, from coroutines!"   }}复制代码

DSL(domain specific language),可以理解为具体编程语言之上, 针对特定领域问题的语言。大家感受下这段单元测试代码:

val str = "kotlin"str should startWith("kot")str.length shouldBe 6复制代码

有没觉得“内容引起舒适”?

Data Binding 数据绑定,用于降低界面布局和业务逻辑代码的耦合性。具体一点讲,通过将数据单向或双向绑定到 layout 文件中,Data Binding 能够大量减少Activity或Fragment中的findViewById()/setText()/setImage()等步骤,有助于防止内存泄漏,而且能自动进行空检测以避免空指针异常。

MVVM(Model/View/ViewModel) 架构范式相对于MVP, 更进一步降低了View层和Presenter之间的耦合,更彻底地分离了各层的关注点。上图:

转载于:https://juejin.im/post/5cb7b2a6e51d456e5f76c478

你可能感兴趣的文章
一位10年Java工作经验的架构师聊Java和工作经验
查看>>
试除法求最小N个素数之二
查看>>
HDU2017 字符串统计
查看>>
terminator终端工具
查看>>
【转】那些相见恨晚的 JavaScript 技巧
查看>>
Lind.DDD.Authorization用户授权介绍
查看>>
谈谈设计模式~原型模式(Prototype)
查看>>
商城商品倒计时原生插件
查看>>
激光打印机的Color/paper, Xerography介绍
查看>>
敏捷开发
查看>>
react-native项目构建配置及window调试devtools
查看>>
Gym 100341C AVL Trees NTT
查看>>
第 1 章 虚拟化 - 004 - 启动第一个 KVM 虚机
查看>>
2.1.2_BeanFactory.getBean内部处理逻辑
查看>>
储存过程-原理、语法、函数详细说明
查看>>
第十六周项目6-黑豆传说
查看>>
【servlet3.0新特性】Annotation注解配置
查看>>
js操作cookie
查看>>
spring注解方式 idea报could not autowire,eclipse却没有问题
查看>>
kippo蜜罐搭建
查看>>