具体描述
作 者:何红辉,关爱民 著 定 价:99 出 版 社:人民邮电出版社 出版日期:2017年07月01日 页 数:553 装 帧:平装 ISBN:9787115452962 ●第1章 走向灵活软件之路——面向对象的六大原则 1
●1.1 优化代码的步——单一职责原则 1
●1.2 让程序更稳定、更灵活——开闭原则 5
●1.3 构建扩展性更好的系统——里氏替换原则 12
●1.4 让项目拥有变化的能力——依赖倒置原则 14
●1.5 系统有更高的灵活性——接口隔离原则 16
●1.6 更好的可扩展性——迪米特原则 19
●1.7 小结 23
●第2章 应用最广的模式——单例模式 24
●2.1 单例模式介绍 24
●2.2 单例模式的定义 24
●2.3 单例模式的使用场景 24
●2.4 单例模式UML类图 24
●2.5 单例模式的简单示例 25
●2.6 单例模式的其他实现方式 27
●2.6.1 懒汉模式 27
●2.6.2 DoubleCheckLock(DCL)实现单例 27
●2.6.3 静态内部类单例模式 28
●2.6.4 枚举单例 29
●2.6.5 使用容器实现单例模式 30
●部分目录
内容简介
本书专门介绍Android源代码的设计模式,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式。本书的主要内容为:优化代码的靠前步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享元模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。每个章节都对某个模式做了深入分析,并且会对模式相关的技术点进行深入拓展,让读者在掌握模式的同时学习到Android中的一些重要知识,通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中,开发出高质量的程序。
本书适合的读者为初、中、不错Android工程师,也可等
《Kotlin实战:从入门到精通》 内容简介 在日益发展的移动开发领域,Android平台的地位举足轻重。而Kotlin作为Google官方推荐的Android开发语言,以其简洁、安全、高效的特性,正以前所未有的速度席卷而来,成为开发者们争相学习和掌握的新宠。本书《Kotlin实战:从入门到精通》正是为了满足这一时代需求而精心打造,旨在为读者提供一套系统、深入、实用的Kotlin学习路线图,帮助开发者们从零基础快速掌握Kotlin的核心概念,并将其高效地应用于Android的实际开发中,最终实现从入门到精通的蜕变。 本书内容严谨,结构清晰,循序渐进。我们从Kotlin的最基本语法元素出发,逐层深入,涵盖了变量、数据类型、运算符、控制流等基础知识,确保读者能够快速建立起对Kotlin语言的初步认知。随后,我们将目光聚焦于Kotlin面向对象编程的核心特性,如类、对象、继承、多态、接口等,并详细阐述Kotlin与Java在这些方面的差异与优势,帮助开发者们理解Kotlin如何以更优雅、更安全的方式处理面向对象的编程范式。 本书最大的亮点之一,在于其对Kotlin在Android开发中的实战应用进行了详尽的剖析。我们不会止步于理论知识的堆砌,而是将Kotlin的语言特性与Android开发中的具体场景相结合。从Activity、Fragment的创建与管理,到View的绑定与事件处理,再到网络请求、数据存储、UI组件的开发,每一个环节都将通过Kotlin的代码示例进行演示和讲解。读者将学会如何利用Kotlin的空安全特性,有效避免NullPointerException,显著提升Android应用的稳定性。同时,本书还将深入探讨Kotlin协程(Coroutines)这一强大的并发解决方案,教导开发者如何用更简洁、更易读的方式编写异步代码,告别回调地狱,提升应用的响应速度和用户体验。 此外,本书还特别关注了Kotlin在现代Android开发中的一些前沿实践。例如,我们详细介绍了Kotlin Extension Functions(扩展函数)和Higher-Order Functions(高阶函数),展示了它们如何简化代码、提高复用性,使开发者能够编写出更具表现力的代码。对于函数式编程的爱好者,本书还将介绍Kotlin的Lambda表达式和Sequence,帮助读者理解函数式编程思想,并将其应用于实际开发中,写出更具声明式风格的代码。 本书的另一重要组成部分,是对于Kotlin与Java的互操作性进行的深入探讨。在Android开发中,许多现有项目仍然使用Java编写,因此,理解Kotlin如何与Java无缝集成,以及如何逐步将Java代码迁移到Kotlin,就显得尤为重要。本书将提供清晰的指南和实用的技巧,帮助开发者们在混合开发环境中游刃有余,实现平滑过渡。 在架构设计方面,本书同样提供了深刻的见解。我们将结合Android开发中常见的架构模式,如MVP、MVVM,来展示Kotlin如何在这些模式中发挥其独特的优势。例如,如何利用Kotlin的属性委托(Property Delegation)简化ViewModel的实现,如何使用Data Binding配合Kotlin实现更高效的UI绑定,以及如何利用Kotlin的DSL(Domain Specific Language)编写更具可读性的配置文件和构建脚本。 为了帮助读者巩固所学知识,本书在每一章节都精心设计了丰富的实战案例和练习题。这些案例涵盖了从简单的UI交互到复杂的网络通信,从基础的数据操作到高级的并发处理,力求让读者在动手实践中真正掌握Kotlin的应用技巧。每一道练习题都附带详尽的解析,帮助读者理解解题思路,并发现自己的薄弱环节。 本书的目标读者群体广泛,无论您是初次接触Kotlin的Android开发新手,还是希望提升Kotlin技能的资深开发者,亦或是对Kotlin语言本身感兴趣的技术爱好者,都能从本书中获益良多。对于Android开发者而言,本书将是您拥抱Kotlin、提升开发效率、打造更优秀Android应用的必备指南。 《Kotlin实战:从入门到精通》不仅仅是一本技术书籍,更是一次与Kotlin一同成长的旅程。我们希望通过这本书,能够点燃您对Kotlin的热情,激发您对技术探索的兴趣,并最终帮助您在Android开发领域取得更大的成就。让我们一起,用Kotlin书写更美好的移动开发未来! 本书特色: 系统全面: 从Kotlin基础语法到高级特性,再到Android实战应用,内容覆盖广泛,满足不同层次读者的需求。 实战导向: 以Android开发中的实际场景为例,深入讲解Kotlin在UI开发、网络通信、数据存储、并发处理等方面的应用。 语言优雅: 详细阐述Kotlin的简洁、安全、高效特性,展示如何用更少的代码实现更强大的功能,彻底摆脱Java的冗余和陷阱。 前沿技术: 重点介绍Kotlin协程、扩展函数、高阶函数、DSL等现代开发实践,助力开发者掌握最新技术。 互操作性: 深入解析Kotlin与Java的互操作性,提供平滑迁移和混合开发策略。 架构视角: 结合MVP、MVVM等架构模式,展示Kotlin如何在实际项目中发挥其设计优势。 丰富的案例与练习: 提供大量可运行的源代码示例和精心设计的练习题,帮助读者巩固知识,提升实战能力。 循序渐进: 内容安排合理,难度逐步提升,适合零基础读者入门,也适合有经验的开发者深入学习。 本书目录(部分): 第一篇:Kotlin基础与核心概念 第一章:Kotlin入门 Kotlin简介与生态 Kotlin开发环境搭建 第一个Kotlin程序:Hello, Kotlin! Kotlin与Java的对比 第二章:Kotlin变量与数据类型 可变与不可变变量 (`var` vs `val`) 基本数据类型:Int, Long, Double, Float, Boolean, Char, Byte, Short 字符串 (`String`) 的操作 类型推断 安全类型系统:空安全 (`?`, `!!`, `?:`) 第三章:Kotlin运算符与控制流 算术运算符、比较运算符、逻辑运算符 位运算符 范围 (`Range`) 操作符 `if` 表达式与 `when` 表达式 循环:`for`, `while`, `do-while` 第四章:Kotlin函数 函数的声明与调用 函数参数:默认参数、命名参数 返回类型 Lambda 表达式与高阶函数 匿名函数 函数类型 第五章:Kotlin面向对象编程(一) 类 (`class`) 的声明与实例化 属性 (`property`) 与主构造器 次构造器 getter 和 setter `data class` 的妙用 枚举类 (`enum class`) 第六章:Kotlin面向对象编程(二) 继承 (`inheritance`):open, final, abstract 接口 (`interface`) 伴随对象 (`companion object`) 对象声明 (`object`) 与对象表达式 内部类与嵌套类 密封类 (`sealed class`) 第二篇:Kotlin高级特性与设计模式 第七章:Kotlin泛型 泛型类与泛型函数 类型参数约束 声明处型变与使用处型变 (`in`, `out`) 星投影 (``) 第八章:Kotlin扩展 扩展函数 (`extension function`) 扩展属性 (`extension property`) 扩展的Receiver 可空Receiver 内联扩展函数 第九章:Kotlin委托 委托属性 (`delegated property`) `lazy` 委托 `observable` 和 `vetoable` 委托 `notNull` 委托 自定义委托 第十章:Kotlin集合 只读集合 (`List`, `Set`, `Map`) 可变集合 (`MutableList`, `MutableSet`, `MutableMap`) 集合的常用操作:`map`, `filter`, `forEach`, `reduce`, `fold` 等 Sequence 的使用 第十一章:Kotlin异常处理 `try-catch-finally` 块 Kotlin 的 unchecked exceptions `throw` 关键字 第十二章:Kotlin协程(Coroutines) 协程基础:`launch`, `async`, `runBlocking` 挂起函数 (`suspend function`) 协程上下文 (`CoroutineContext`) 调度器 (`Dispatcher`) 结构化并发 协程异常处理 第十三章:DSL(Domain Specific Language) Lambda 表达式与接收者 DSL 的设计原则 构建器模式与DSL 第三篇:Kotlin在Android开发中的实战 第十四章:Kotlin与Android基础组件 Activity 与 Fragment 的 Kotlin 实现 Kotlin Android Extensions(过时,重点讲解 View Binding) View Binding 的使用 事件处理的 Kotlin 方式 第十五章:Kotlin与UI开发 RecyclerView 的 Kotlin 实现 自定义 View 的 Kotlin 实践 协程在 UI 线程的操作 第十六章:Kotlin与网络通信 Retrofit + Kotlin 实战 使用协程进行网络请求 JSON 解析与处理 第十七章:Kotlin与数据存储 SharedPreferences 的 Kotlin 封装 Room Persistence Library 与 Kotlin 数据库操作的协程优化 第十八章:Kotlin与架构模式(MVP/MVVM) MVP 模式的 Kotlin 实现 MVVM 模式的 Kotlin 实现 LiveData 与 ViewModel 的 Kotlin 集成 属性委托在 ViewModel 中的应用 第十九章:Kotlin与Jetpack Compose Jetpack Compose 基础 声明式 UI 编程 Compose 与 Kotlin 的结合 第二十章:Kotlin的更多Android实践 Kotlin 单元测试与集成测试 Gradle 构建脚本的 Kotlin DSL 附录 Kotlin 常用库与资源 Kotlin 术语表 常见问题解答