包郵 軟件架構(gòu)-Python語言實(shí)現(xiàn)
-
>
全國計算機(jī)等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應(yīng)用
-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
軟件架構(gòu)-Python語言實(shí)現(xiàn) 版權(quán)信息
- ISBN:9787111590941
- 條形碼:9787111590941 ; 978-7-111-59094-1
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
軟件架構(gòu)-Python語言實(shí)現(xiàn) 本書特色
本書首先解釋如何利用Python語言實(shí)現(xiàn)應(yīng)用軟件架構(gòu),讓你逐步理解什么是架構(gòu)級的需求以及如何確定這些需求;然后,你可以獲得對架構(gòu)不同質(zhì)量屬性的完整理解,這些質(zhì)量屬性包括可修改性、可測試性、可擴(kuò)展性、可部署性和安全性等,從而幫助架構(gòu)師構(gòu)建滿足業(yè)務(wù)需求的軟件架構(gòu)產(chǎn)品。
軟件架構(gòu)-Python語言實(shí)現(xiàn) 內(nèi)容簡介
本書首先解釋如何利用Python語言實(shí)現(xiàn)應(yīng)用軟件架構(gòu),讓你逐步理解什么是架構(gòu)級的需求以及如何確定這些需求;然后,你可以獲得對架構(gòu)不同質(zhì)量屬性的完整理解,這些質(zhì)量屬性包括可修改性、可測試性、可擴(kuò)展性、可部署性和安全性等,從而幫助架構(gòu)師構(gòu)建滿足業(yè)務(wù)需求的軟件架構(gòu)產(chǎn)品。
軟件架構(gòu)-Python語言實(shí)現(xiàn) 目錄
譯者序
關(guān)于作者
關(guān)于評審人
前言
第1章 軟件架構(gòu)原理 1
1.1 軟件架構(gòu)定義 2
1.1.1 軟件架構(gòu)與設(shè)計 2
1.1.2 軟件架構(gòu)相關(guān)的幾個方面 3
1.2 軟件架構(gòu)的特征 3
1.2.1 用架構(gòu)來定義一種結(jié)構(gòu) 3
1.2.2 由架構(gòu)來挑選一組核心元素 4
1.2.3 由架構(gòu)來捕獲早期的設(shè)計決策 4
1.2.4 由架構(gòu)來管理利益相關(guān)者的需求 5
1.2.5 架構(gòu)影響著組織結(jié)構(gòu) 5
1.2.6 架構(gòu)受到環(huán)境的影響 6
1.2.7 架構(gòu)是對系統(tǒng)的文檔化 6
1.2.8 架構(gòu)通常會遵循某個模式 7
1.3 軟件架構(gòu)的重要性 7
1.4 系統(tǒng)架構(gòu)與企業(yè)架構(gòu) 8
1.5 架構(gòu)的質(zhì)量屬性 10
1.5.1 可修改性 11
1.5.2 可測試性 13
1.5.3 可擴(kuò)展性 14
1.5.4 性能 15
1.5.5 可用性 16
1.5.6 安全性 17
1.5.7 可部署性 18
1.6 本章小結(jié) 19
第2章 編寫可修改可讀的代碼 20
2.1 什么是可修改性 20
2.2 與可修改性相關(guān)的幾個方面 20
2.3 理解可讀性 21
2.3.1 Python和可讀性 21
2.3.2 可讀性–反模式 22
2.4 增強(qiáng)可讀性的各種技術(shù) 24
2.4.1 文檔化代碼 24
2.4.2 遵守編碼和風(fēng)格規(guī)范 30
2.4.3 審查和重構(gòu)代碼 31
2.4.4 注釋代碼 31
2.5 可修改性的基礎(chǔ)——內(nèi)聚和耦合 32
2.5.1 測量內(nèi)聚性和耦合性 33
2.5.2 字符串和文本處理 35
2.6 探索提高可修改性的策略 37
2.6.1 提供顯式接口 37
2.6.2 減少雙向依賴 37
2.6.3 抽象出公共服務(wù) 38
2.6.4 使用繼承技術(shù) 38
2.6.5 使用延遲綁定技術(shù) 42
2.7 度量——靜態(tài)分析工具 43
2.7.1 什么是代碼壞味道 43
2.7.2 圈復(fù)雜度——McCabe度量 44
2.7.3 度量結(jié)果測試 45
2.7.4 運(yùn)行靜態(tài)檢查器 47
2.8 重構(gòu)代碼 53
2.8.1 降低復(fù)雜度 53
2.8.2 改善代碼壞味道 55
2.8.3 改善風(fēng)格上和編碼上的問題 57
2.9 本章小結(jié) 57
第3章 可測試性——編寫可測試的代碼 58
3.1 理解可測試性 58
3.1.1 軟件可測試性及相關(guān)屬性 58
3.1.2 架構(gòu)級的方方面面 59
3.1.3 策略 60
3.2 白盒測試原理 65
3.2.1 單元測試 65
3.2.2 操作中的單元測試 66
3.2.3 單元測試模塊nose2 69
3.2.4 用py.test進(jìn)行測試 70
3.2.5 代碼覆蓋 72
3.2.6 仿制一些東西 74
3.2.7 文檔中的內(nèi)聯(lián)測試——doctest 78
3.2.8 集成測試 81
3.2.9 測試自動化 83
3.3 測試驅(qū)動開發(fā) 84
3.4 有回文的TDD 85
3.5 本章小結(jié) 90
第4章 好的性能就是回報 92
4.1 什么是性能 93
4.2 軟件性能工程 93
4.3 性能測試和度量工具 94
4.4 性能復(fù)雜度 95
4.5 度量性能 96
4.5.1 使用上下文管理器度量時間 97
4.5.2 使用timeit模塊來計時代碼 99
4.5.3 使用timeit度量代碼的性能 100
4.5.4 揭示時間復(fù)雜度——各種圖 102
4.5.5 使用timeit度量CPU時間 106
4.6 剖析 107
4.6.1 確定性剖析 107
4.6.2 使用cProfile和profile進(jìn)行剖析 108
4.6.3 收集和報告統(tǒng)計數(shù)據(jù) 111
4.6.4 第三方剖析器 113
4.7 其他工具 119
4.7.1 objgraph 120
4.7.2 pympler 121
4.8 程序設(shè)計性能——數(shù)據(jù)結(jié)構(gòu) 123
4.8.1 可變?nèi)萜鳌湵怼⒆值浜图? 123
4.8.2 不可變?nèi)萜鳌M 124
4.8.3 高性能容器——集合模塊 125
4.8.4 概率數(shù)據(jù)結(jié)構(gòu)——布隆過濾器 131
4.9 本章小結(jié) 134
第5章 開發(fā)可擴(kuò)展的應(yīng)用 136
5.1 可擴(kuò)展性和性能 137
5.2 并發(fā)性 139
5.2.1 并發(fā)性與并行性 140
5.2.2 Python中的并發(fā)性——多線程機(jī)制 141
5.3 縮略圖產(chǎn)生器 141
5.3.1 縮略圖產(chǎn)生器——生產(chǎn)者/消費(fèi)者架構(gòu) 143
5.3.2 縮略圖產(chǎn)生器——使用鎖的資源約束 147
5.3.3 縮略圖產(chǎn)生器——使用信號量的資源約束 150
5.3.4 資源約束——信號量和鎖比較 153
5.3.5 縮略圖產(chǎn)生器——使用條件的URL速率控制器 153
5.4 多線程機(jī)制——Python和GIL 160
5.4.1 Python中的并發(fā)性——多進(jìn)程機(jī)制 160
5.4.2 質(zhì)數(shù)檢查器 161
5.4.3 排序磁盤文件 163
5.5 多線程與多進(jìn)程比較 168
5.6 先入為主的與合作的多任務(wù)處理 170
5.7 Python中的asyncio模塊 173
5.8 等待future對象——async和await 175
5.9 concurrent.future——高級并發(fā)處理 178
5.9.1 磁盤縮略圖產(chǎn)生器 179
5.9.2 并發(fā)選項(xiàng)——如何選擇? 181
5.10 并行處理庫 182
5.10.1 joblib 182
5.10.2 PyMP 183
5.10.3 fractals —— Mandelbrot集 184
5.11 Web擴(kuò)展 189
5.11.1 擴(kuò)展工作流——消息隊(duì)列和任務(wù)隊(duì)列 189
5.11.2 Celery —— 一種分布式任務(wù)隊(duì)列 190
5.11.3 在Web上使用Python服務(wù)——WSGI 194
5.12 可擴(kuò)展架構(gòu) 197
5.12.1 垂直可擴(kuò)展架構(gòu) 197
5.12.2 水平擴(kuò)展架構(gòu) 198
5.13 本章小結(jié) 201
第6章 安全性——編寫安全代碼 202
6.1 信息安全架構(gòu) 202
6.2 安全編碼 203
軟件架構(gòu)-Python語言實(shí)現(xiàn) 作者簡介
關(guān)于作者
Anand Balachandran Pillai是一名工程技術(shù)專家,在軟件企業(yè)有18年以上的工作經(jīng)歷,在產(chǎn)品工程、軟件設(shè)計、架構(gòu)設(shè)計和相關(guān)研究方面具有非常豐富的經(jīng)驗(yàn)。
他曾獲得印度理工學(xué)院機(jī)械工程專業(yè)的學(xué)士學(xué)位。曾在Yahoo!、McAfee和Infosys等公司任職,擔(dān)任產(chǎn)品開發(fā)團(tuán)隊(duì)的首席工程師。
他的主要興趣在于軟件性能工程、高可擴(kuò)展性架構(gòu)、安全和開源社區(qū)等方面。他也經(jīng)常在Startups工作,擔(dān)任首席技術(shù)專家或顧問。
他還是班加羅爾Python用戶聯(lián)盟的奠基人和Python軟件協(xié)會(PSF)的會士。Anand現(xiàn)在是Yegii公司的首席架構(gòu)師。
- >
唐代進(jìn)士錄
- >
推拿
- >
伊索寓言-世界文學(xué)名著典藏-全譯本
- >
山海經(jīng)
- >
有舍有得是人生
- >
龍榆生:詞曲概論/大家小書
- >
巴金-再思錄
- >
史學(xué)評論