移动开发架构设计实战9787121375071电子工业pdf下载

移动开发架构设计实战9787121375071电子工业百度网盘pdf下载

作者:
简介:移动开发架构设计实战9787121375071电子工业
出版社:
出版时间:2019-11
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

  • 商品名:移动开发架构设计实战9787121375071电子工业李云鹏 著
  • ISBN:9787121375071
  • 定价:89
  • 出版社:电子工业出版社
  • 作者:李云鹏

参考信息(以实物为准)

  • 出版时间:2019-11-01
  • 印刷时间:
  • 版次:1
  • 印次:
  • 包装:平装
  • 开本:16开
  • 用纸:胶版纸
  • 页数:304
  • 字数:415000

产品特色

编辑推荐

专注:50+实战案例。填补移动开发架构设计书籍空白

全面:10+架构模式。流行移动端架构全面囊括

实战:10+系统设计实战。代码注释丰富,易于理解

易读:学习门槛低。内容精练,语言通俗易懂


内容简介

本书覆盖了移动开发中涉及的多种架构模式,基于Android平台对架构模式进行实战,可以帮助入门开发者了解架构模式,进阶开发者掌握架构模式,技术领导者进行架构选型。

本书内容包括:流行架构模型MVX系列——MVC架构、MVP架构、MVVM架构,依赖注入框架Dagger2,函数响应式框架RxJava2,Google推荐的生命周期感知架构组件AAC,整洁的架构“The Clean Architecture”和组件化架构的运用方法与实战。

本书语言精练,内容清晰,代码易于理解,适合计算机相关行业的从业者阅读与学习。

前言序言

Android系统自Google 2008年发布以来, 经过十多年的发展,已经占据了手持设备八成以上的市场份额。在此过程中,有很多非常优秀的开发者加入这个行业,移动开发经过近几年的快速蓬勃发展,在传统的设计思想上有了更多的更新和创新,同时也涌现出不少高效的工具。

软件架构是对软件整体结构与组件的抽象描述,但在实际项目和产品迭代中,架构不仅涉及软件本身,还涉及团队组成、业务现状及发展方向、团队文化、投入产出比等多方面。如何基于业务做出更合理的设计?如何平衡业务和技术?如何在做出决策后顺利落地?从这些方面考虑,需要明确以下几个问题:

·通用的架构有哪些?

·每个架构的适用场景和优缺点是什么?

·架构的设计原则是什么?

·架构之间是如何演化的?

·在架构设计实战的过程中会遇到哪些问题?该如何解决?

作者从架构的定义开始,对MVC、MVP、MVVM等多种架构模式进行了详细的阐述,并辅以案例讲解。通过讲解多个实战案例回答了上述问题。本书非常适合移动开发领域的初、中级工程师阅读,也适合高级工程师阅读,以作参考。

 

——网易新闻技术总监 刘棉明

前言

 

过去,我常常寻找一些关于移动端架构模式的资料,以帮助自己全面了解架构模式,并针对企业软件架构存在的问题,指导自己进行架构选型。在现今的技术盛世中,各种架构模式“百花齐放”,然而每种架构模式的概念都比较晦涩难懂,这不仅使得一部分初学者“从入门到放弃”,也让进阶人员耗费了太多的学习成本。

通过博客学习架构需要查阅大量的资料,而且博客中的技术资料学习门槛相对较高,所以,我总结自身经验,写成了这本书,以帮助入门开发者了解架构模式,进阶开发者掌握架构模式,技术领导者进行架构选型,并填补移动端或Android架构实战书籍的空白。

架构设计在现今已经成为软件开发必不可少的环节,而架构学习和架构选型往往是一个困难的“工程”。在软件设计之初,人们习惯使用“面条代码”进行开发,系统代码并无结构可言,由此带来的本质问题就是软件的可维护性和可靠性越来越差,软件的维护成本也越来越高,直到软件危机爆发,人们才开始意识到软件架构的重要性。

软件架构设计可以帮助我们规划系统模型,做出决策,降低软件熵,提供系统可维护性和可靠性,减少企业软件维护成本,使得系统更加有序。

 

本书特色

1.内容丰富,语言通俗易懂,学习门槛低

阅读本书与阅读技术博客不同的是,架构模式的概念部分清晰易懂,语言精练,包含各种架构的总结性内容。我一直在思索如何表述,能让软件开发人员轻松地理解架构设计中晦涩难懂的概念,所以在每章中,加入了对于架构相关概念的通俗易懂的阐述,以及丰富的图片,以便帮助读者建立架构的记忆模型。

2.架构覆盖广泛,代码注释丰富,易于理解

本书用大量篇幅介绍了MVX系列架构——MVC架构、MVP架构和MVVM架构,但软件架构从不是一成不变的,所以,本书还介绍了组件化和插件化等读者可能会加入自身架构中的技术。而对架构实战的介绍是通过还原一个架构模式的重构过程来完成的,代码注释丰富,易于理解。

3.填补了移动端架构设计和Android架构设计与实战总结类书籍的空白

过去,我一直希望有这样一本关于架构模式实战总结与指导类的书籍,能够帮助企业开发人员进行架构学习和选型。软件架构设计是一个经久不衰的话题,其生命周期较长,而架构之间的区别往往在于“合适”与“不合适”,本书可以帮助你全面了解移动端的流行架构模式,并根据自身所需进行架构学习和选型。

 

本书内容及体系结构

本书从内容上分为三部分,共16章。

□□部分主要介绍架构的基本概念。

第二部分列举了当下比较流行的几种架构模式,包括MVX系列架构——MVC架构、MVP架构、MVVM架构,以及依赖注入框架Dagger2、函数响应式框架RxJava2、Google官方推荐的Android Architecture Components和组件化架构。

第三部分列举了更多值得推荐的,但目前并不是十分常见的框架,其中包括整洁的架构“The Clean Architecture”、Fragment反对者系列的Fragmentless、Conductor,还介绍了插件化架构的运用方法与实战。

□□章  什么是架构

本章将从架构的起源讲起,走入生活中的架构,探究架构的本质,掌握架构的原则,逐步深入,进而达到了解传统的架构设计思想和设计流程的目的。如果你更注重实践性的内容,可以从第2章开始阅读;如果你更注重从一根“线”的“线头”开始厘清思路,那么,就要从本章开始阅读,阅读本章能够使你更好地了解什么是架构。

第2章  MVC架构:表现层分离

“面条代码”是一种没有结构、紧耦合、“一气呵成”的代码形态。接触“面条代码”你会发现,所有界面展示控制和业务逻辑都缠绕在一起,改动任意一处,都将使你苦不堪言。在无数次凌乱的修改整理后,你会感受到一种“剪不断,理还乱”的痛苦。在探究架构的□佳实战之路上,我们还要从MVC(Model-View-Controller)开始说起,本章将要分析的是经典的MVC架构模式。

第3章  实战:基于MVC架构设计的日记App

本章将通过一个基于Android的日记App,来讨论MVC架构的两种模式——被动模式和主动模式是如何实现的。

第4章  MVP架构:开始解耦

前面的章节针对MVC架构模式进行了讨论与实践,这种模式虽然践行了表现层分离,但难免会出现Massive View Controller(过重的视图控制器)。本章将讨论一种更流行的架构模式——MVP架构。

第5章  实战:MVP架构设计

前面我们讨论了日记App的MVC架构被动模式和主动模式的实现。本章将对日记App的MVC架构模式进行改造,使其成为MVP架构模式,并基于MVP架构模式添加新的功能。

第6章  MVVM架构:双向绑定

前面的章节介绍了移动开发中的两个经典架构模式——MVC架构和MVP架构。本章将介绍移动开发三大经典架构中的□后一种架构模式——MVVM架构。

第7章  实战:MVVM架构设计

本章将会改造基于MVP架构设计的“我的日记”App,利用Google提供的数据绑定框架DataBinding,使其成为MVVM架构模式。

第8章  依赖注入:Dagger2锋利的“匕首”

依赖注入在后端领域开发中是一项非常流行的设计模式,在Google接手了Dagger的开发工作后,依赖注入在移动端也日趋火热。本章我们将在前面介绍的MVP架构的基础上,通过讲解Dagger2来使读者了解依赖注入框架的使用方法,并将其应用在“我的日记”App中。

第9章  函数响应式框架:优雅的RxJava2

在单任务CPU时代,任务只能串联执行,上一个任务没有执行完,下一个任务就只能等待,这样的任务处理效率极低;后来,多任务盛行起来,多个任务可以并行处理,带来了效率的提升;再后来,多任务的模式被运用到每个任务中,一个任务可以被拆分成多个线程执行,每个线程可以并行处理,多线程的时代到来了,它开启了并发,也开启了响应式编程。本章将利用RxJava2实现函数响应式框架的设计。

□□0章  AAC:搭建生命周期感知架构

本章将要介绍的是Android官方推荐的系列架构组件Android Architecture Components,其中包括生命周期感知组件、LiveData、ViewModel和Room数据库的使用等。

□□1章  组件化架构:极速运行

本章主要介绍各大科技公司使用的主流架构设计模式——组件化架构,这种架构可以让你的工程组件更加清晰,提升软件复用性,加快开发速度,降低测试成本。

□□2章  The Clean Architecture:整洁的架构

本章将通过介绍三款符合The Clean Architecture思想的架构——MVP-Clean、VIPER和Riblets,使大家能够对The Clean Architecture有更加全面的了解。

□□3章  Fragmentless:Fragment反对者

Fragmentless架构践行了Fragment反对者的思想,即Fragment会给程序的开发和维护带来很多不必要的问题。本章将通过View代替Fragment,来为大家演示Fragmentless架构的实现。

□□4章  Conductor:短兵利刃

Conductor是一个小巧精悍的框架,用来帮助移动应用实现基于View的开发,与上一章的Fragmentless架构基于同一核心思想。本章将在MVP架构设计的“我的日记”App的基础上加入Conductor支持。

□□5章  插件化:模块插拔

本章介绍的是插件化框架,它与模块化技术、组件化技术有着异曲同工之妙。熟练运用插件化技术,往往能给一个移动应用带来非同凡响的体验感。本章将通过分析一款插件化流行框架,来讲解插件化架构。

□□6章  总结

本章是对全书涉及的架构模式的总结,将会针对每种架构模式总结其特点,并给予你架构选型的建议。

 

本书读者对象

本书适合任何对计算机技术感兴趣或相关领域的从业人员阅读,书中列举了多种移动端的架构模式和使用方法,但架构设计未必局限于某一平台,比如,MVC架构在后端开发中依旧广泛流行。

尤其推荐以下人群阅读本书:

·移动端进阶工程师。

·移动开发爱好者及从业人员。

·计算机爱好者及从业人员。

作者简介

李云鹏,网易新闻架构技术组工程师,沐暄网创始人,Oracle、Adobe等企业认证专家;10年互联网经验,曾就职于世界500强企业核心技术实验室;于2009年创立沐暄网,2010年入围凤凰网“全球*具影响力的中文论坛100强”站长。

擅长移动端架构设计、项目重构与Intellij插件开发等工作。参与网易新闻组件化架构设计,视频模块、统计模块等多模块重构工作,利用VIPER对客户端基础架构进行改良。喜欢创新和研究,作为□□发明人,申请了十余项专利和著作权。


精彩书评

Congratulations to Leo on the publication of this book. Most people don't realize how much hard work and care goes into a book, but I can tell you it is quite a lot. Read this book and take advantage of Leo's hard work and experience. After all, the person who does not read books has no advantage over a person who can not.

——Andy Hunt  传世经典《程序员修炼之道》作者,《敏捷宣言》作者,敏捷运动发起人

 

在移动端业务瞬息万变的今天,架构设计俨然成为一项艺术,架构设计能力也是架构师的核心技能之一。云鹏的这本书循序渐进地阐述了架构的设计艺术,通过项目实践表现了架构的设计方法,值得开发者们阅读与学习。

——何青  网易资深Android工程师、前百度贴吧工程师,作者导师

 

移动开发已经进入了成熟期,移动开发架构设计是未来移动开发工程师必备的技术。这本书从移动开发架构设计实战入手,深入浅出,填补了市场的空白,值得一读。

——刘望舒  《Android进阶之光》《Android进阶解密》作者,无线技术专家

 

One of the most important things when a new project starts is to select the architecture that best suits the domain of the project, this book has a clear and detailed explanation of the main architectures that will allow taking decisions for any type of Android project.

——Yury Camacho  GDG发起人,著名国际演讲者,谷歌技术专家(GDE)

 

现在主要有两种Android相关的技术书籍:Android API使用和Android系统源码剖析,但是鲜有介绍Android应用架构方面的书籍。这本书填补了国内甚至全球在这方面的空白,从基础的MVP/MVVM到更贴近实战的模块化架构,层层递进,娓娓道来,相信你在读完后会对应用架构设计有更深刻的理解。

——朱金鹏  谷歌技术专家(GDE)