KOTLIN核心编程(水滴技术团队出品.深入阐述KOTLIN设计哲学.语言特性.设计模式.函数式编程和工程实战等核心内容

本书特色

[

本书不是一本简单介绍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语法应用的图书,而是一部专注于帮助读者深入理解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响应式框架和编程等内容。

]

内容简介

[

本书不是一本简单介绍Kotlin语法应用的图书,而是一部专注于帮助读者深入理解Kotlin的设计理念,指导读者实现Kotlin高层次开发的实战型著作。书中深入介绍了Kotlin的核心语言特性、设计模式、函数式编程、异步开发等内容,并以Android和Web两个平台为背景,演示了Kotlin的实战应用。全书共13章,分为4个部分:热身篇—Kotlin基础(~2章),简单介绍了Kotlin设计哲学、生态及基础语法,其中包括Kotlin与Scala、Java之间的关联与对比,以及Kotlin的类型声明的特殊性、val和var的使用、高阶函数的使用、面向表达式编程的使用、字符串的定义与操作等内容;下水篇—Kotlin核心(第3~8章),深入介绍了面向对象、代数数据类型、模式匹配、类型系统、Lambda、集合、多态、扩展、元编程等Kotlin开发核心知识,这是本书的重点,其中涉及很多开发者特别关心的问题,比如多继承问题、模式匹配问题、用代数数据类型抽象业务问题、泛型问题、反射问题等。潜入篇—Kotlin探索(第9~11章),探索Kotlin在设计模式、函数式编程、异步和并发等编程领域的应用,其中包括对4大类设计模式、Typeclass实现、函数式通用结构设计、类型替代异常处理、共享资源控制、CQRS架构等重点内容的深入剖析;遨游篇—Kotlin实战(2~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章 认识Kotlin21.1 Java的发展21.1.1 Java 8的探索31.1.2 Java未来的样子31.2 Scala的百宝箱31.2.1 学术和工业的平衡41.2.2 复合但不复杂41.2.3 简单却不容易51.3 Kotlin—改良的Java51.3.1 Kotlin的实用主义61.3.2 更好的Java61.3.3 强大的生态81.4 本章小结8第2章 基础语法102.1 不一样的类型声明102.1.1 增强的类型推导112.1.2 声明函数返回值类型112.2 val和var的使用规则132.2.1 val的含义:引用不可变132.2.2 优先使用val来避免副作用142.2.3 var的适用场景152.3 高阶函数和Lambda162.3.1 抽象和高阶函数172.3.2 实例:函数作为参数的需求172.3.3 函数的类型192.3.4 方法和成员引用212.3.5 匿名函数222.3.6 Lambda是语法糖222.3.7 函数、Lambda和闭包252.3.8 “柯里化”风格、扩展函数262.4 面向表达式编程292.4.1 表达式比语句更安全302.4.2 Unit类型:让函数调用皆为表达式322.4.3 复合表达式:更好的表达力332.4.4 枚举类和when表达式342.4.5 for循环和范围表达式372.4.6 中缀表达式392.5 字符串的定义和操作412.5.1 定义原生字符串412.5.2 字符串模板422.5.3 字符串判等432.6 本章小结43下水篇 Kotlin核心第3章 面向对象463.1 类和构造方法463.1.1 Kotlin中的类及接口463.1.2 更简洁地构造类的对象493.1.3 主从构造方法553.2 不同的访问控制原则563.2.1 限制修饰符573.2.2 可见性修饰符613.3 解决多继承问题643.3.1 骡子的多继承困惑643.3.2 接口实现多继承653.3.3 内部类解决多继承问题的方案673.3.4 使用委托代替多继承693.4 真正的数据类713.4.1 烦琐的JavaBean 713.4.2 用data class创建数据类 733.4.3 copy、componentN与解构753.4.4 数据类的约定与使用783.5 从static到object793.5.1 什么是伴生对象793.5.2 天生的单例:object813.5.3 object表达式823.6 本章小结84第4章 代数数据类型和模式匹配854.1 代数数据类型854.1.1 从代数到类型864.1.2 计数874.1.3 积类型874.1.4 和类型与密封类884.1.5 构造代数数据类型894.2 模式匹配904.2.1 何为模式914.2.2 常见的模式924.2.3 处理嵌套表达式934.2.4 通过Scala找点灵感954.2.5 用when力挽狂澜974.3 增强 Kotlin 的模式匹配994.3.1 类型测试/类型转换994.3.2 面向对象的分解1004.3.3 访问者设计模式1024.3.4 总结1044.4 用代数数据类型来抽象业务1054.4.1 从一个实际需求入手1054.4.2 糟糕的设计1054.4.3 利用ADT1064.4.4 更高层次的抽象1084.5 本章总结110第5章 类型系统1125.1 null引用:10亿美元的错误1125.1.1 null做了哪些恶1125.1.2 如何解决NPE问题1145.2 可空类型1155.2.1 Java 8中的Optional1155.2.2 Kotlin的可空类型1185.2.3 类型检查1215.2.4 类型智能转换1225.3 比Java更面向对象的设计1245.3.1 Any:非空类型的根类型1245.3.2 Any?:所有类型的根类型1275.3.3 Nothing与Nothing?1285.3.4 自动装箱与拆箱1285.3.5 “新”的数组类型1295.4 泛型:让类型更加安全1305.4.1 泛型:类型安全的利刃1305.4.2 如何在Kotlin中使用泛型1315.4.3 类型约束:设定类型上界1335.5 泛型的背后:类型擦除1355.5.1 Java为什么无法声明一个泛型数组1355.5.2 向后兼容的罪1365.5.3 类型擦除的矛盾1385.5.4 使用内联函数获取泛型1395.6 打破泛型不变1405.6.1 为什么List不能赋值给List

封面

KOTLIN核心编程(水滴技术团队出品.深入阐述KOTLIN设计哲学.语言特性.设计模式.函数式编程和工程实战等核心内容

书名:KOTLIN核心编程(水滴技术团队出品.深入阐述KOTLIN设计哲学.语言特性.设计模式.函数式编程和工程实战等核心内容

作者:水滴技术团队

页数:360

定价:¥89.0

出版社:机械工业出版社

出版日期:2018-08-01

ISBN:9787111624318

PDF电子书大小:65MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注