{{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

京東圖書

面向对象葵花宝典:思想、技巧与实践

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

面向对象葵花宝典:思想、技巧与实践

{{__(":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

你可能既了解各种各样的技术,例如,设计模式、SOLID设计原则、UML、Java、C++……也掌握了一大堆的技术名词,例如“封装”、“继承”、“工厂模式”、“开闭原则”,但还是“知其然,不知其所以然”,在实际开发过程中依然不能很好地应用它们。

不管采用“瀑布流程”,还是“敏捷”流程,软件开发流程都可以简单地分为需求分析、系统设计、编码实现、测试部署这几个阶段。在这些不同的阶段中,面向对象起什么作用呢?如何在这些不同的阶段中应用面向对象技术呢?

带着这些问题到本书中寻找答案吧。

Content Description

本书系统地讲述了面向对象技术的相关内容,包括面向对象的基本概念、面向对象开发的流程、面向对象的各种技巧,以及如何应用面向对象思想进行架构设计。在讲述相关知识或技术的时候,除了从“是什么”这个角度进行介绍外,更加着重于从“为什么”和“如何用”这两个角度进行剖析,力争让读者做到“知其然,并知其所以然”,从而达到在实践中既能正确又能优秀地应用面向对象的相关技术和技巧。

Author Description

李运华,十余年软件设计开发经验,经历了电信行业和移动互联网行业,曾就职于华为和UCWEB,先后担任软件开发工程师、系统分析师、架构师等角色。现担任阿里巴巴移动事业群(原UCWeb)资深软件工程师,主要负责架构设计、架构重构、技术团队管理、技术培训。技术上专注于Linux、MySQL、开源技术、系统分析、架构设计,有丰富的需求分析、系统设计、编程的实战经验。喜欢寻根究底,探究技术的原理和本质;每每有所得,喜欢总结下来并分享到博客。虽然热爱技术,但不拘泥于技术,涉猎群书,勇于挑战,从各方面不断提升自己。
Catalogue

第1部分 面向对象基础 1
第1章 面向对象概述 3
1.1 程序设计思想的发展 3
1.2 面向对象语言的发展历史 6
1.3 面向过程 8
1.4 面向对象 9
1.5 为什么要面向对象 11
1.6 面向对象的应用范围 12
1.7 面向对象的迷思 13
1.7.1 面向对象会导致性能降低? 13
1.7.2 面向对象语言=面向对象编程? 14
1.8 小结 16
第2章 面向对象理论 17
2.1 类 17
2.2 对象 23
2.3 接口 26
2.4 抽象类 31
2.5 抽象 32
2.6 三大核心特征 34
2.6.1 封装 34
2.6.2 继承 44
2.6.3 多态 46
2.7 小结 50
第2部分 面向对象实战 53
第3章 面向对象分析和设计全流程概述 55
第4章 需求模型 57
4.1 需求详解 57
4.2 需求的重要性 59
4.3 需求分析 60
4.3.1 需求分析的目的 60
4.3.2 需求分析的方法 63
4.4 用例方法 69
4.4.1 用例的具体写法 70
4.4.2 要画图吗 74
4.5 功能 75
4.6 用例图的陷阱 78
4.7 SSD 79
4.8 FAQ 81
4.9 小结 82
第5章 领域模型 84
5.1 领域建模三字经 84
5.2 找名词 85
5.3 加属性 87
5.4 连关系 88
5.5 FAQ 89
5.6 小结 90
第6章 设计模型 91
6.1 设计模型总览 91
6.2 类模型 92
6.2.1 第一步(照猫画虎):领域类映射 93
6.2.2 第二步(精雕细琢):应用设计原则和设计模式 101
6.2.3 第三步(照本宣科):拆分辅助类 105
6.3 动态模型 106
6.3.1 模型分类 106
6.3.2 建模实践 108
6.3.3 建模技巧 110
6.4 小结 111
第7章 实现模型 112
7.1 编程语言的差异性 112
7.2 C++ 113
7.2.1 类 113
7.2.2 访问控制 114
7.2.3 继承 117
7.2.4 多态 126
7.2.5 抽象类 130
7.2.6 接口 135
7.3 Java 136
7.3.1 类 137
7.3.2 访问控制 138
7.3.3 继承 142
7.3.4 多态 144
7.3.5 抽象类 146
7.3.6 接口 150
7.4 小结 152
第3部分 面向对象技巧 153
第8章 设计原则 155
8.1 内聚 155
8.1.1 内聚究竟是什么 155
8.1.2 内聚的分类 157
8.2 耦合 168
8.2.1 耦合究竟是什么 168
8.2.2 耦合的分类 169
8.3 高内聚低耦合 180
8.4 类设计原则 188
8.4.1 SRP 188
8.4.2 OCP 191
8.4.3 LSP 193
8.4.4 ISP 197
8.4.5 DIP 202
8.4.6 如何应用设计原则 209
8.4.7 NOP 210
8.5 小结 211
第9章 设计模式 212
9.1 设计模式简介 212
9.2 设计模式只是一把锤子 213
9.3 设计模式之道 214
9.3.1 知易行难――设计模式应用的问题 214
9.3.2 拨云见日――寻找设计模式之道 215
9.3.3 庖丁解牛――解析设计模式之道 217
9.3.4 举一反三――活学活用设计模式之道 218
9.4 原则VS模式 219
9.5 模式详解 225
9.5.1 Prototype模式 226
9.5.2 Decorator模式 238
9.5.3 Facade模式 250
9.5.4 Observer模式 264
9.6 小结 274
第10章 UML 275
10.1 UML简介 275
10.2 UML只是语言 275
10.3 UML应用 277
10.4 需求分析阶段 278
10.4.1 用例图 278
10.4.2 用例图的关系 281
10.5 设计阶段 284
10.5.1 类图 284
10.5.2 类关系图 288
10.5.3 动态图 305
10.5.4 结构图 318
10.6 部署阶段 320
10.7 小结 322
第4部分 面向对象架构设计 325
第11章 面向对象架构设计基础 327
11.1 什么是架构 327
11.2 面向对象的架构设计 329
11.3 小结 330

第12章 面向对象架构设计流程 332
12.1 架构设计总体思想 332
12.2 业务架构 333
12.2.1 全新的业务系统 333
12.2.2 已有架构优化 335
12.2.3 业务架构实例:京西商城 336
12.3 领域架构 337
12.4 软件架构 338
12.4.1 第一步:照猫画虎 338
12.4.2 第二步:按图索骥 340
12.4.3 第三步:深思熟虑 342
12.5 小结 344
第13章 面向对象架构设计技巧 345
13.1 架构设计原则 345
13.1.1 客户需求优先原则 345
13.1.2 适当超前原则 347
13.2 架构设计屠龙刀 350
13.2.1 “拆”与“合” 350
13.2.2 “拆”的常见手段 352
13.2.3 “合”的常见手段 362
13.3 优秀架构师特质:创新 366
13.4 小结 367

Introduction

前 言


我最早接触“面向对象”这个词是在大学的选修课“C++语言”这门课程上,当时的教材分为两部分,前面一部分是讲C语言编程,后面一部分是讲C++的面向对象特性。当时觉得“面向对象”这个词很有意思,但由于教材和教学的原因,当时对“面向对象”的理解和认识很粗浅,认为面向对象就是写class。


工作后开始真正地在业务开发中应用面向对象技术,最初也只是按照写class的方式去应用面向对象,但越来越发现不对劲,自己的疑惑也越来越多。例如:


为什么要这样写class,不能那样写class,反正最后都能完成功能啊?


为什么我说要设计这个class,你说要设计那个class,标准是什么?


客户需求都是用自然语言描述的,根本没有类和继承这些面向对象的概念,那这些设计又是如何得出的呢?是拍脑袋还是靠天才的创造,抑或是有章可循?


如何判断面向对象的设计做得好还是不好呢?


带着这些问题,我开始真正地去探索面向对象的世界,于是一头扎进去,发现了一个精彩但又纷繁复杂的世界,各种各样的技术扑面而来,让人目不暇接——设计模式、SOLID设计原则、UML、Java、C++……费了九牛二虎之力,好不容易把这些啃完了,我自信满满地以为掌握了面向对象的精髓,于是又准备到业务开发中大展拳脚,稍微一实践后却发现自己只是掌握了一大堆的技术名词,例如“封装”、“继承”、“工厂模式”、“开闭原则”,但还是“知其然,不知其所以然”,在实际开发过程中依然不能很好地应用。


除此之外,不管采用“瀑布流程”,还是“敏捷”流程,软件开发流程都可以简单地分为需求分析、系统设计、编码实现、测试部署这几个阶段。在这些不同的阶段中,面向对象起什么作用呢?如何在这些不同的阶段中应用面向对象技术呢?我曾经带着这些疑问去问大虾大牛,但没人能够清楚地回答;也曾经到各种面向对象书籍中探索,但没有找到确切答案。


虽然没有直接找到答案,但在这个思考和探索的过程中,也吸收到了更多的知识、技能和思想。随着我对面向对象思想和技术的理解逐渐加深,加上我在工作中不断地实践,很多问题我自己慢慢地竟然想通了,同时也形成了一套完整的面向对象方法论。


在这个过程中,有很多疑惑,甚至有很多痛苦,投入也很大,是对技术的热爱支撑着我一直探索下去,但我相信大部分程序员没有这么大的兴趣去探索,也没有那么多的时间可以投入,所以我就写成了这本书,让更多的程序员更好地掌握面向对象的思想和技巧,享受程序人生,实现自己的梦想!


本书内容


本书内容主要分为4部分。


面向对象基础:通过对面向对象的历史、发展,与面向过程的对比等相关背景知识的介绍,让读者对面向对象有一个更完整的认识;并深入地阐述了面向对象的各种概念,让读者“知其然,并知其所以然”。


面向对象实战:通过一个实例,完整地介绍了面向对象相关技术如何在软件开发流程中落地,整个面向对象的开发流程一环扣一环,步步为营,让读者避免“拍脑袋”、“头脑风暴”式的开发方式。


面向对象技巧:对“内聚耦合”、“设计模式”、“设计原则”、“UML”等最常见的面向对象技术进行了深入和别具一格的阐述,让读者不但知道“what”(是什么),还能知道“why”(为什么)和“how”(如何用)。


面向对象架构设计:讲解了面向对象思想在架构设计中的应用,只要掌握了面向对象的思想,程序员也可以秒变架构师。


由于面向对象相关的知识和技术纷繁复杂,在一本书里面浓缩这么多的知识,对个人而言是一个很大的挑战,加上很多资料都是来自于网络和英文文档,其中错误与疏漏在所难免,希望读者批评指正。


致谢


在本书写作过程中参考了大量的网络资料,包括维基百科、百度百科等,向这些促进知识传播的网络平台致以诚挚的谢意。


个人在探索的过程中,阅读了大量的面向对象相关的书籍和文档,向这些促进面向对象技术发展的前辈致以诚挚的谢意。


特别感谢我就职的优视科技公司(UCWEB),良好的技术氛围、宽松的工作环境、不断发展和成长的业务,为本书的写作创造了良好的外部环境。


衷心感谢父母和妻子,在本书的写作过程中承担了更多的家庭琐事,给予我最大的支持。

規格參數

品牌 京東圖書
品牌屬地 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')}}

請輸入內容

取消

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

發表評論
商品評分

請輸入評論

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

舉報

取消

確認刪除該評論嗎?

取消

歷史瀏覽

品牌故事

京東圖書