{{sellerTotalView > 1 ? __("sellers", {number: sellerTotalView}) : __("seller", {number: sellerTotalView}) }}, {{numTotalView > 1 ? __("items", {number: numTotalView}) : __("item", {number: numTotalView}) }}
免運費
Yami

Nickname

請告訴我們怎麼更好地稱呼你

更新你的名字
賬戶 訂單 收藏
{{ inviteNavTitle }}
退出登入

切換配送區域

不同區域的庫存和配送時效可能存在差異。

歷史郵編

{{email ? __('Got it!') : __('Restock Alert')}}

我們將在商品到貨後第一時間通知你。

取消
Yami

京東圖書

Android 源码设计模式解析与实战

{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}

Android 源码设计模式解析与实战

{{__(":people-members", {'people': item.limit_people_count})}} {{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ item.invalid_price }} {{ itemDiscount }}
後結束
{{ itemCurrency }}{{ item.valid_price }}
{{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }}
{{ itemDiscount }}
{{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }} {{ itemCurrency }}{{ item.invalid_price }} {{itemDiscount}}
{{ itemCurrency }}{{ item.valid_price }}
後結束促銷
後開始秒殺 後結束秒殺
{{ getSeckillDesc(item.seckill_data) }}
{{ __( "Pay with Gift Card to get sale price: :itemCurrency:price", { 'itemCurrency' : itemCurrency, 'price' : (item.giftcard_price ? priceFormat(item.giftcard_price) : '0.00') } ) }} ({{ itemCurrency }}{{ priceFormat(item.giftcard_price / item.bundle_specification) }}/{{ item.unit }}) 詳情
商品有效期

已下架

我們不知道該商品何時或是否會重新有庫存。

當前地址無法配送
已售完

商品描述

展開全部描述
Editer Recommend

CSDN社区专家精心撰写、业界专家邓凡平、郭霖、任玉刚、徐宜生等鼎力推荐Android源码讲解设计模式的书
《Android 源码设计模式解析与实战》不仅分析了Android源代码的设计模式,更结合实例演示了如何使用这些设计模式。看这本书,既能学到如何分析、学习Android源代码,又能提高自己架构设计水平
书中的主人公小民就是那些不断追求技术进步,从而得以不断成长的IT技术人的代表,小民的成长过程基本上反映了我们现在程序员的成长经历,他的成功很值得我们学习和借鉴。
Content Description

MVP模式。主要内容为:优化代码的首步、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、单例模式、Builder模式、原型模式、工厂方法模式、抽象工厂模式、策略模式、状态模式、责任链模式、解释器模式、命令模式、观察者模式、备忘录模式、迭代器模式、模板方法模式、访问者模式、中介者模式、代理模式、组合模式、适配器模式、装饰模式、享元模式、外观模式、桥接模式,以及MVC的介绍与实战和MVP应用架构模式。每个章节都对某个模式做了深入的分析,并且会对模式相关的技术点进行深入拓展,让读者在掌握模式的同时学习到Android中的一些重要知识,通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中,开发出高质量的程序。
《Android 源码设计模式解析与实战》适合的读者为初、中、高级Android工程师,也可以作为大专院校相关师生的学习用书和培训学校的教材。
Catalogue

第1章 走向灵活软件之路——
面向对象的六大原则 1
1.1 优化代码的第一步——
单一职责原则 1
1.2 让程序更稳定、更灵活——
开闭原则 5
1.3 构建扩展性更好的系统——
里氏替换原则 12
1.4 让项目拥有变化的能力——
依赖倒置原则 13
1.5 系统有更高的灵活性——
接口隔离原则 16
1.6 更好的可扩展性——
迪米特原则 18
1.7 总结 22
第2章 应用最广的模式——单例模式 23
2.1 单例模式介绍 23
2.2 单例模式的定义 23
2.3 单例模式的使用场景 23
2.4 单例模式UML类图 23
2.5 单例模式的简单示例 24
2.6 单例模式的其他实现方式 26
2.6.1 懒汉模式 26
2.6.2 Double CheckLock ( DCL )
实现单例 26
2.6.3 静态内部类单例模式 27
2.6.4 枚举单例 28
2.6.5 使用容器实现单例模式 28
2.7 Android源码中的单例模式 29
2.8 无名英雄——深入理解
LayoutInflater 33
2.9 运用单例模式 40
2.10 总结 42
第3章 自由扩展你的项目——
Builder模式 43
3.1 Builder模式介绍 43
3.2 Builder模式的定义 43
3.3 Builder模式的使用场景 43
3.4 Builder模式的UML类图 43
3.5 Builder模式的简单实现 44
3.6 Android源码中的Builder模式实现 46
3.7 深入了解WindowManager 52
3.8 Builder模式实战 59
3.9 总结 64
第4章 使程序运行更高效——
原型模式 66
4.1 原型模式介绍 66
4.2 原型模式的定义 66
4.3 原型模式的使用场景 66
4.4 原型模式的UML类图 66
4.5 原型模式的简单实现 67
4.6 浅拷贝和深拷贝 69
4.7 Android源码中的原型模式实现 72
4.8 Intent的查找与匹配 74
4.8.1 App信息表的构建 74
4.8.2 精确匹配 80
4.9 原型模式实战 83
4.10 总结 85
第5章 应用最广泛的模式——
工厂方法模式 87
5.1 工厂方法模式介绍 87
5.2 工厂方法模式的定义 87
5.3 工厂方法模式的使用场景 87
5.4 工厂方法模式的UML类图 87
5.5 模式的简单实现 90
5.6 Android源码中的工厂方法模式实现 93
5.7 关于onCreate方法 95
5.8 工厂方法模式实战 102
5.9 总结 105
第6章 创建型设计模式——
抽象工厂模式 106
6.1 抽象工厂模式介绍 106
6.2 抽象工厂模式的定义 106
6.3 抽象工厂模式的使用场景 106
6.4 抽象工厂模式的UML类图 106
6.5 抽象工厂方法模式的简单实现 109
6.6 Android源码中的抽象工厂
方法模式实现 112
6.7 总结 116
第7章 时势造英雄——策略模式 117
7.1 策略模式介绍 117
7.2 策略模式的定义 117
7.3 策略模式的使用场景 117
7.4 策略模式的UML类图 118
7.5 策略模式的简单实现 118
7.6 Android源码中的策略模式实现 123
7.6.1 时间插值器 123
7.6.2 动画中的时间插值器 124
7.7 深入属性动画 128
7.7.1 属性动画体系的总体设计 128
7.7.2 属性动画的核心类介绍 128
7.7.3 基本使用 129
7.7.4 流程图 130
7.7.5 详细设计 131
7.7.6 核心原理分析 131
7.8 策略模式实战应用 142
7.9 总结 144
第8章 随遇而安——状态模式 145
8.1 状态模式介绍 145
8.2 状态模式的定义 145
8.3 状态模式的使用场景 145
8.4 状态模式的UML类图 145
8.5 状态模式的简单示例 146
8.6 Wi-Fi管理中的状态模式 150
8.7 状态模式实战 159
8.8 总结 164
第9章 使编程更有灵活性——
责任链模式 165
9.1 责任链模式介绍 165
9.2 责任链模式的定义 165
9.3 责任链模式的使用场景 165
9.4 责任链模式的UML类图 165
9.5 责任链模式的简单实现 170
9.6 Android源码中的责任链模式实现 173
9.7 责任链模式实战 178
9.8 总结 181
第10章 化繁为简的翻译机——
解释器模式 182
10.1 解释器模式介绍 182
10.2 解释器模式的定义 182
10.3 解释器模式的使用场景 183
10.4 解释器模式的UML类图 184
10.5 解释器模式的简单实现 185
10.6 Android源码中的解释器模式实现 189
10.7 关于PackageManagerService 195
10.8 总结 203
第11章 让程序畅通执行——
命令模式 204
11.1 命令模式介绍 204
11.2 命令模式的定义 204
11.3 命令模式的使用场景 204
11.4 命令模式的UML类图 204
11.5 命令模式的简单实现 207
11.6 Android源码中的命令模式实现 211
11.7 Android事件输入系统介绍 214
11.8 命令模式实战 216
11.9 总结 223
第12章 解决、解耦的钥匙——
观察者模式 224
12.1 观察者模式介绍 224
12.2 观察者模式的定义 224
12.3 观察者模式的使用场景 224
12.4 观察者模式的UML类图 224
12.5 观察者模式的简单实现 225
12.6 Android源码分析 227
12.7 观察者模式的深入拓展 230
12.8 实战 238
12.9 总结 245
第13章 编程中的“后悔药”——
备忘录模式 247
13.1 备忘录模式介绍 247
13.2 备忘录模式的定义 247
13.3 备忘录模式的使用场景 247
13.4 备忘录模式的UML类图 247
13.5 备忘录模式的简单示例 248
13.6 Android源码中的备忘录模式 250
13.7 深度拓展 257
13.7.1 onSaveInstanceState调用
的时机 257
13.7.2 使用V4包存储状态的bug 257
13.8 实战 260
13.9 总结 267
第14章 解决问题的“第三者”——
迭代器模式 268
14.1 迭代器模式介绍 268
14.2 迭代器模式的定义 268
14.3 迭代器模式的使用场景 268
14.4 迭代器模式的UML类图 268
14.5 模式的简单实现 271
14.6 Android源码中的模式实现 275
14.7 总结 277
第15章 抓住问题核心——
模板方法模式 278
15.1 模板方法模式介绍 278
15.2 模板方法模式的定义 278
15.3 模板方法模式的使用场景 278
15.4 模板方法模式的UML类图 278
15.5 模板方法模式的简单示例 279
15.6 Android源码中的模板方法模式 281
15.7 深度拓展 283
15.8 模板方法实战 296
15.9 总结 299
第16章 访问者模式 301
16.1 访问者模式介绍 301
16.2 访问者模式的定义 301
16.3 访问者模式的使用场景 301
16.4 访问者模式的UML类图 301
16.5 访问者模式的简单示例 302
16.6 Android源码中的模式 306
16.7 访问者模式实战 309
16.8 总结 316
第17章 “和事佬”——中介者模式 317
17.1 中介者模式介绍 317
17.2 中介者模式的定义 318
17.3 中介者模式的使用场景 318
17.4 中介者模式的UML类图 318
17.5 中介者模式的简单实现 320
17.6 Android源码中的中介者模式实现 324
17.7 中介者模式实战 326
17.8 总结 329
第18章 编程好帮手——代理模式 330
18.1 代理模式介绍 330
18.2 代理模式的定义 330
18.3 代理模式的使用场景 330
18.4 代理模式的UML类图 330
18.5 代理模式的简单实现 332
18.6 Android源码中的代理模式实现 336
18.7 Android中的Bin
Book Abstract

《Android 源码设计模式解析与实战》:
开闭原则的英文全称是Open Close Principle,缩写是OCP,它是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统。开闭原则的定义是:软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是,对于修改是封闭的。在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会将错误引入原本已经经过测试的旧代码中,破坏原有系统。因此,当软件需要变化时,我们应该尽量通过扩展的方式来实现变化,而不是通过修改已有的代码来实现。当然,在现实开发中,只通过继承的方式来升级、维护原有系统只是一个理想化的愿景,因此,在实际的开发过程中,修改原有代码、扩展代码往往是同时存在的。
软件开发过程中,最不会变化的就是变化本身。产品需要不断地升级、维护,没有一个产品从第一版本开发完就再没有变化了,除非在下个版本诞生之前它已经被终止。而产品需要升级,修改原来的代码就可能会引发其他的问题。那么,如何确保原有软件模块的正确性,以及尽量少地影响原有模块,答案就是,尽量遵守本章讲述的开闭原则。
勃兰特·梅耶在1988年出版的《面向对象软件构造》一书中提出这一原则——开闭原则。这一想法认为,程序一旦开发完成,程序中一个类的实现只应该因错误而被修改,新的或者改变的特性应该通过新建不同的类实现,新建的类可以通过继承的方式来重用原类的代码。显然,梅耶的定义提倡实现继承,已存在的实现类对于修改是封闭的,但是新的实现类可以通过覆写父类的接口应对变化。
……

規格參數

品牌 京東圖書
品牌屬地 China

免責聲明

產品價格、包裝、規格等資訊如有調整,恕不另行通知。我們盡量做到及時更新產品資訊,但請以收到實物為準。使用產品前,請始終閱讀產品隨附的標籤、警告及說明。

查看詳情
加入收藏
{{ $isZh ? coupon.coupon_name_sub : coupon.coupon_ename_sub | formatCurrency }}
{{__("Buy Directly")}} {{ itemCurrency }}{{ item.directly_price }}
數量
{{ quantity }}
{{ instockMsg }}
{{ limitText }}
{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}
由 JD@CHINA 銷售
送至
{{ __("Ship to United States only") }}
滿69免運費
正品保證

已加入購物車

繼續逛逛

為你推薦

{{ item.brand_name }}

{{ item.item_name }}

{{ item.currency }}{{ item.market_price }}

{{ item.currency }}{{ item.unit_price }}

{{ item.currency }}{{ item.unit_price }}

優惠券

{{ coupon.coupon_name_new | formatCurrency }}
領取 已領取 已領完
{{ getCouponDescStr(coupon) }}
{{ coupon.use_time_desc }}
即將過期: {{ formatTime(coupon.use_end_time) }}

分享給好友

取消

亞米禮卡專享價

使用禮卡支付即可獲得禮卡專享價

規則說明

禮卡專享價是部分商品擁有的特殊優惠價格;

購買禮卡專享價商品時,若在結算時使用電子禮卡抵扣支付,且禮卡餘額足夠支付訂單中所有禮卡專享價商品的專享價總和,則可以啟用禮卡專享價;

不使用禮卡支付,或禮卡餘額不滿足上一條所述要求時,將無法啟用禮卡專享價,按照普通售價計算,但您仍然可以購買這些商品;

在購買禮卡專享價商品時,若餘額不足,可以在購物車或結算頁中點擊“充值”按鈕對禮卡進行購買和充值;

商品若擁有禮卡專享價,會顯示“專享”的特殊價格標記;

如有疑問,請隨時聯繫客服;

禮卡專享價相關規則最終解釋權歸亞米所有。

由 亞米 銷售

服務保障

Yami 滿$49免運費
Yami 無憂退換
Yami 從美國出貨

配送資訊

  • 美國

    標準配送 $5.99(不含阿拉斯加,夏威夷),最終價滿$49免運費

    本地配送$5.99(加州,紐約州,新澤西,麻省和賓夕法尼亞,以上州部分地區);最終價滿$49免運費

    兩日達(含阿拉斯加夏威夷)運費19.99美元起

退換政策

亞米網希望為我們的客戶提供最優秀的售後服務,讓所有人都能放心在亞米購物。亞米自營商品在滿足退換貨條件的情況下,可在收到包裹的30天之內退換商品(食品因商品質量問題7天內可退換;為了確保每位客戶都能獲得安全和高質量的商品,對於美妝類產品,一經開封或使用即不提供退款或退貨服務,質量問題除外;其他特殊商品需聯繫客服諮詢)。
感謝您的理解和支持。

查看詳情

由 亞米 銷售

亞米電子禮品卡使用規則

若購買時選擇自動儲值,訂單完成後禮品卡將自動儲值至您的帳戶;

若購買時選擇發送郵件,訂單完成後系統將自動發送卡號和密碼到您填寫的郵箱;

寄送郵件時,任何使用者均可使用郵件中的卡號密碼進行禮卡儲值,請妥善保管郵件資訊。

如接收郵件遇到問題,請聯絡客服處理;

發送郵件時,若禮卡沒有被兌換,可以補發郵件。若已經被其他用戶兌換,無法補償;

亞米網電子禮卡可用於購買自營或第三方商品;

亞米網電子禮卡沒有有效期限限制,長期有效;

亞米網電子禮卡的金額,可分多次使用;

亞米網電子禮卡業務規則,最終解釋權歸亞米網所有。

退換政策

已消費的電子禮卡不支持退款。

JD@CHINA 銷售

服務保障

Yami 滿$49免運費
Yami 最優售後
Yami 美國本土出貨

配送資訊

  • 美國

    標準配送 $5.99(不含阿拉斯加,夏威夷),最終價滿$49免運費

    本地配送$5.99(加州,紐約州,新澤西,麻省和賓夕法尼亞,以上州部分地區);最終價滿$49免運費

    兩日達(含阿拉斯加夏威夷)運費19.99美元起

退換政策

提供30天內退還保障。產品需全新未使用原包裝內,並附有購買憑證。產品品質問題、或錯發漏發等,由商家造成的失誤,將進行補發,或退款處理。其它原因需退貨費用由客戶自行承擔。

由 JD@CHINA 銷售

服務保障

Yami 跨店滿$69免運費
Yami 30天退換保障

亞米-中國集運倉

由亞米從中國精選並集合各大優秀店舖的商品至亞米中國整合中心,合併包裹後將一次合包跨國郵寄至您的地址。跨店包郵門檻低至$69。您將在多商家集合提供的廣泛選購商品中選購商品,輕鬆享有跨店鋪包郵後的低郵資。

退換政策

提供30天內退換保障。產品需在全新未使用的原包裝內,並附有購買憑證。產品品質問題、錯發、或漏發等商家造成的失誤,將進行退款處理。其它原因造成的退換貨郵費客戶將需要自行承擔。由於所有商品均長途跋涉,偶有簡易外包壓磨等但不涉及內部品質問題者,不予退換。

配送資訊

亞米中國集運 Consolidated Shipping 運費$9.99(訂單滿$69 包郵)

下單後2個工作天中國商家出貨,所有包裹抵達亞米中國整合中心(除特別情況及中國境內個別法定假日外)會合併包裹後透過UPS發往美國。 UPS從中國出貨後到美國境內的平均時間為10個工作天左右,可隨時根據直發單號追蹤查詢。受疫情影響,目前物流可能延遲5天左右。包裹需要客人簽收。如未簽收,客人須承擔包裹遺失風險。

由 JD@CHINA 銷售

服務保障

滿69免運費
正品保證

配送資訊

Yami Consolidated Shipping 運費$9.99(訂單滿$69包郵)


Seller will ship the orders within 1-2 business days. The logistics time limit is expected to be 7-15 working days. In case of customs clearance, the delivery time will be extended by 3-7 days. The final receipt date is subject to the information of the postal company.

積分規則

不參加任何折扣活動以及亞米會員積分制度。

退換政策

提供30天內退還保障。產品需全新未使用原包裝內,並附有購買憑證。產品品質問題、或錯發漏發等,由商家造成的失誤,將進行補發,或退款處理。其它原因需退貨費用由客戶自行承擔。

Yami

下載亞米應用

返回頂部

為您推薦

品牌故事

京東圖書

为您推荐

Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折

評論{{'('+ commentList.posts_count + ')'}}

分享您的感受,幫助更多用戶做出選擇。

撰寫評論
{{ totalRating }} 撰寫評論
  • {{i}}星

    {{i}} 星

    {{ parseInt(commentRatingList[i]) }}%

Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}收起

{{ strLimit(comment,800) }}查看全部

Show Original

{{ comment.content }}

Yami
查看更多

{{ formatTime(comment.in_dtm) }} 已購買 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}
Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}收起

{{ strLimit(comment,800) }}查看全部

Show Original

{{ comment.content }}

Yami
查看更多

{{ formatTime(comment.in_dtm) }} 已購買 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}

暫無符合條件的評論~

評論詳情

Yami Yami

{{ showTranslate(commentDetails) }}收起

{{ strLimit(commentDetails,800) }}查看全部

Show Original

{{ commentDetails.content }}

Yami
查看更多

{{ formatTime(commentDetails.in_dtm) }} 已購買 {{groupData}}

{{ commentDetails.likes_count }} {{ commentDetails.likes_count }} {{ commentDetails.reply_count }} {{commentDetails.in_user==uid ? __('Delete') : __('Report')}}

請輸入內容

回覆{{'(' + replyList.length + ')'}}

Yami Yami

{{ showTranslate(reply) }}收起

{{ strLimit(reply,800) }}查看全部

Show Original

{{ reply.reply_content }}

{{ formatTime(reply.reply_in_dtm) }}

{{ reply.reply_likes_count }} {{ reply.reply_likes_count }} {{ reply.reply_reply_count }} {{reply.reply_in_user==uid ? __('Delete') : __('Report')}}

請輸入內容

取消

這是到目前為止的所有評論!

發表評論
商品評分

請輸入評論

  • 一個好的暱稱,會讓你的評論更受歡迎!
  • 修改了這裡的暱稱,個人資料中的暱稱也將被修改。
感謝你的評論
你的好評可以幫助我們的社區發現更好的亞洲商品。

舉報

取消

確認刪除該評論嗎?

取消

歷史瀏覽

品牌故事

京東圖書