作品简介

本书不是一本简单介绍Kotlin语法应用的图书,而是一部专注于帮助读者深入理解Kotlin的设计理念,指导读者实现Kotlin高层次开发的实战型著作。书中深入介绍了Kotlin的核心语言特性、设计模式、函数式编程、异步开发等内容,并以Android和Web两个平台为背景,演示了Kotlin的实战应用。

全书共13章,分为4个部分:

热身篇—Kotlin基础(第1~2章),简单介绍了Kotlin设计哲学、生态及基础语法,其中包括Kotlin与Scala、Java之间的关联与对比,以及Kotlin的类型声明的特殊性、val和var的使用、高阶函数的使用、面向表达式编程的使用、字符串的定义与操作等内容;

下水篇—Kotlin核心(第3~8章),深入介绍了面向对象、代数数据类型、模式匹配、类型系统、Lambda、集合、多态、扩展、元编程等Kotlin开发核心知识,这是本书的重点,其中涉及很多开发者特别关心的问题,比如多继承问题、模式匹配问题、用代数数据类型抽象业务问题、泛型问题、反射问题等。

潜入篇—Kotlin探索(第9~11章),探索Kotlin在设计模式、函数式编程、异步和并发等编程领域的应用,其中包括对4大类设计模式、Typeclass实现、函数式通用结构设计、类型替代异常处理、共享资源控制、CQRS架构等重点内容的深入剖析;

遨游篇—Kotlin实战(第12~13章),着重演示了Kotlin在Android和Web平台的实战案例,其中涉及架构方式、单向数据流模型、解耦视图导航、响应式编程、Spring 5响应式框架和编程等内容。

水滴技术团队,核心成员来自阿里巴巴、淘宝,公司旗下的大数据SaaS类产品服务了Booking、阿里集团、小米集团、大疆创新、拍拍贷等几十万家企业,是微信的重点第三方合作产品。

推崇函数式编程,喜欢尝试各种新的前后端技术。团队在2015年就实现了业界领先的全异步开发架构,该架构是基于fp Scala及微服务化的分布式系统。同时,水滴技术团队还是国内外少有的pure fp技术团队,采用了如Play! Framework、Akka、Cats等新潮的技术,并对JVM生态的一些编程语言有着较丰富的实战经验,当前主要为Scala、Kotlin社区输出博客和开源项目。

章建良(网名:Jilen),水滴技术团队核心成员,杭州极跑科技联合创始人,曾就职于淘宝。从2008年开始,活跃于Scala社区,在函数式编程和并发领域拥有极丰富的实战经验。

此外,他还是知名开源项目Quill的核心贡献者,目前正在创造一个纯函数式的异步数据库驱动asyncdb。

作品目录

  • 前言
  • 热身篇 Kotlin基础
  • 第1章 认识Kotlin
  • 1.1 Java的发展
  • 1.2 Scala的百宝箱
  • 1.3 Kotlin——改良的Java
  • 1.4 本章小结
  • 第2章 基础语法
  • 2.1 不一样的类型声明
  • 2.2 val和var的使用规则
  • 2.3 高阶函数和Lambda
  • 2.4 面向表达式编程
  • 2.5 字符串的定义和操作
  • 2.6 本章小结
  • 下水篇 Kotlin核心
  • 第3章 面向对象
  • 3.1 类和构造方法
  • 3.2 不同的访问控制原则
  • 3.3 解决多继承问题
  • 3.4 真正的数据类
  • 3.5 从static到object
  • 3.6 本章小结
  • 第4章 代数数据类型和模式匹配
  • 4.1 代数数据类型
  • 4.2 模式匹配
  • 4.3 增强Kotlin的模式匹配
  • 4.4 用代数数据类型来抽象业务
  • 4.5 本章总结
  • 第5章 类型系统
  • 5.1 null引用:10亿美元的错误
  • 5.2 可空类型
  • 5.3 比Java更面向对象的设计
  • 5.4 泛型:让类型更加安全
  • 5.5 泛型的背后:类型擦除
  • 5.6 打破泛型不变
  • 5.7 本章小结
  • 第6章 Lambda和集合
  • 6.1 Lambda简化表达
  • 6.2 集合的高阶函数API
  • 6.3 集合库的设计
  • 6.4 惰性集合
  • 6.5 内联函数
  • 6.6 本章小结
  • 第7章 多态和扩展
  • 7.1 多态的不同方式
  • 7.2 扩展:为别的类添加方法、属性
  • 7.3 Android中的扩展应用
  • 7.4 扩展不是万能的
  • 7.5 本章小结
  • 第8章 元编程
  • 8.1 程序和数据
  • 8.2 Kotlin的反射
  • 8.3 Kotlin的注解
  • 8.4 本章小结
  • 潜入篇 Kotlin探索
  • 第9章 设计模式
  • 9.1 创建型模式
  • 9.2 行为型模式
  • 9.3 结构型模式
  • 9.4 本章小结
  • 第10章 函数式编程
  • 10.1 函数式编程的特征
  • 10.2 实现Typeclass
  • 10.3 函数式通用结构设计
  • 10.4 类型代替异常处理错误
  • 10.5 本章小结
  • 第11章 异步和并发
  • 11.1 同步到异步
  • 11.2 Kotlin的Coroutine
  • 11.3 共享资源控制
  • 11.4 CQRS架构
  • 11.5 本章小结
  • 遨游篇 Kotlin实战
  • 第12章 基于Kotlin的Android架构
  • 12.1 架构方式的演变
  • 12.2 单向数据流模型
  • 12.3 ReKotlin
  • 12.4 解耦视图导航
  • 12.5 本章小结
  • 第13章 开发响应式Web应用
  • 13.1 响应式编程的关键:非阻塞异步编程模型
  • 13.2 Spring 5:响应式Web框架
  • 13.3 Spring 5响应式编程实战
  • 13.4 本章小结
展开全部