[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • 人人都懂設計模式:從生活中領悟設計模式(Python實現)(博文視
    該商品所屬分類:圖書 -> 電子工業出版社
    【市場價】
    761-1104
    【優惠價】
    476-690
    【作者】 羅偉富 
    【所屬類別】 電子工業出版社 
    【出版社】電子工業出版社 
    【ISBN】9787121361128
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    出版社:電子工業出版社
    ISBN:9787121361128
    版次:1

    商品編碼:12580392
    品牌:電子工業出版社
    包裝:平裝

    開本:16開
    出版時間:2019-04-01
    用紙:膠版紙

    頁數:404
    字數:580000
    正文語種:中文

    作者:羅偉富

        
        
    "

    產品特色

    編輯推薦

    適讀人群 :Python時代大話設計模式,概念通俗實現簡單程序強悍貼近實戰,從經典設計模式到衍生的各種編程機制再到經驗,碼農翻身及BAT眾專家力薦,程序員夯實基礎、擴展思路、設計更好軟件必備

    Python時代大話設計模式,概念通俗實現簡單程序強悍貼近實戰,從經典設計模式到衍生的各種編程機制再到經驗,碼農翻身及BAT眾專家力薦,程序員夯實基礎、擴展思路、設計更好軟件必備。

    ★人工智能Python時代的大話設計模式!

    ★獨闢蹊徑,從生活中的例子出發逐漸上升概念定義

    ★歸納每種模式的具體應用場景、特點、注意事項等

    ★給出每種模式在現實中的應用案例,非常貼近實戰

    ★歸納這個設計模式的具體應用場景、特點、注意事項

    ★不僅有經典設計模式,還有各種相關編程機制和經驗


    ★設計模式涉及非常多的軟件架構知識和設計思想

    ★設計模式利於繫統便攜性、健壯性、維護性、拓展性

    ★程序員夯實基礎擴展思路謀求設計出更好的軟件必備!!


    內容簡介

    ★設計模式(Design Patterns)是一套被反復使用、多數人知曉、無數工程師實踐的代碼設計經驗的總結,它是面向對像思想的高度提煉和模板化。本書帶你一起從生活的角度思考設計模式,以輕松有趣的小故事開始,由淺入深地講解每一種模式,思考每一種模式,總結每一種模式!力求用更通俗的語言闡述難懂的概念,用更簡單的語法實現復雜的邏輯,用更短小的代碼寫出強悍的程序!使枯燥乏味的概念變得更有樂趣和意義,希望能帶給讀者一種全新的閱讀體驗和思考方式。

    ★本書分為3篇:“基礎篇”講解了23種經典設計模式,其中19種常用設計模式分別用單獨的章節講解,其餘模式作為一個合集放在一章中講解;“進階篇”講解了由基礎設計模式衍生出的各種編程機制,包括過濾器模式、對像池技術、回調機制和MVC模式,它們在各大編程語言中都非常重要而且常見;“經驗篇”結合工作經驗和項目積累,分享了對設計模式、設計原則、項目重構的理解和看法。Python作為AI時代*重要的一種計算機語言,在各大語言中的排名逐年上升!本書所有示例代碼均用Python編寫,將會是國內不可多得的一本用Python來講解設計模式的書。

    ★本書適合的讀者:一線互聯網軟件開發者、有一定編程基礎的IT職場新人、對設計模式和編程思想感興趣的人士。

    作者簡介

    羅偉富(Spencer.Luo),CSDN 博客專家,某知名在線教育公司技術專家。3年 SDK 開發,2年客戶端開發,現從事後端基礎技術研究,從底層到應用層,從前端到後端積累了豐富的開發經驗,熟悉 C++、Java、Python、PHP 等多種不同開發語言。熱愛生活、喜歡技術、善於用生活的場景解讀難懂的技術!

    內頁插圖

    精彩書評

    設計模式需要程序員積累了足夠代碼、有了足夠的開發經驗以後纔能融會貫通。本書獨闢蹊徑,從生活中的例子出發,逐漸上升到抽像的設計模式概念,給出定義及其實現,讓初學者很容易理解,與此同時還給出了相應的應用案例,非常貼近實戰。
    ——劉欣 |“碼農翻身”微信公眾號作者

    學好設計模式能幫我們寫出更好的代碼,而這本書“由淺入深”的寫作方式能讓你輕松愉悅地進行學習。書中每章以一個輕松有趣的故事開始,講述的是一個程序員日常的小故事,語言簡練,很有畫面感,所以非常容易理解;從生活的哲學中感受設計模式,這就是“由淺”。然後用簡單的Python代碼模擬實現生活中的場景,從而引出設計模式的模型和原理,歸納這個設計模式的具體應用場景、特點、注意事項等;從具體到抽像的提煉總結,讓你洞察設計模式的本質,這就是“入深”。初學者可以通過本書非常輕松地學會各種模式,專家可以將本書作為參考書隨時查閱。
    ——楊武兵 | 華為主任工程師

    本書每章都有一個小故事,代入感比較強,很適合軟件設計模式的初學者,結合故事的例子,用代碼通俗易懂地把設計模式講出來,很棒!
    ——兮揚 | 阿裡巴巴技術專家

    在互聯網工程中,良好的設計模式對繫統的便攜性、健壯性、維護性、拓展性起著至關重要的作用。設計模式涉及非常多的軟件架構知識和設計思想,面對晦澀知識時,初學者往往容易陷入迷茫。羅偉富的這本書從生活出發,用生活語言將晦澀難懂的知識娓娓道來,讓人茅塞頓開,實為設計模式領域不可多得的一本好書。
    ——盧菁 | 騰訊高級研究員

    本書把設計模式的高內聚、低耦合的設計理念,用故事情節的形式還原為真實場景,且用Python語言作為示例,簡單、易學。
    —— 陳志琴 | 百度手機助手研發負責人

    一本好書的優秀之處在於能把高深的理論用淺白有趣的語言傳達給讀者,我想本書做到了這一點,因為並非科班出身的我也讀得津津有味。本書從生活中提煉設計模式,看似是為了方便大家理解而采取的巧妙辦法,實際上體現了面向對像編程範式的內涵,即對現實世界的模擬。所以這是一本“來源於生活,而又高於生活”的書。
    ——紀鵬程 | “從生活中領悟設計模式(Python)”課程讀者

    目錄

    ★基礎篇


    第0章啟程之前,請不要錯過我 2
    0.1Python精簡入門 2
    0.1.1Python的特點 2
    0.1.2基本語法 3
    0.1.3一個例子讓你頓悟 7
    0.1.4重要說明 11
    0.2UML精簡概述 11
    0.2.1UML的定義 11
    0.2.2常見的關繫 12
    第1章監聽模式 16
    1.1從生活中領悟監聽模式 16
    1.1.1故事劇情―幻想中的智能熱水器 16
    1.1.2用程序來模擬生活 17
    1.2從劇情中思考監聽模式 19
    1.2.1什麼是監聽模式 19
    1.2.2監聽模式設計思想 19
    1.3監聽模式的模型抽像 19
    1.3.1代碼框架 19
    1.3.2類圖 20
    1.3.3基於框架的實現 21
    1.3.4模型說明 22
    1.4實戰應用 23
    1.5應用場景 26
    第2章狀態模式 28
    2.1從生活中領悟狀態模式 28
    2.1.1故事劇情―人有少、壯、老,水之固、液、氣 28
    2.1.2用程序來模擬生活 29
    2.2從劇情中思考狀態模式 32
    2.2.1什麼是狀態模式 32
    2.2.2狀態模式設計思想 33
    2.3狀態模式的模型抽像 33
    2.3.1代碼框架 33
    2.3.2類圖 35
    2.3.3基於框架的實現 36
    2.3.4模型說明 38
    2.4應用場景 39
    第3章中介模式 40
    3.1從生活中領悟中介模式 40
    3.1.1故事劇情―找房子問中介 40
    3.1.2用程序來模擬生活 41
    3.2從劇情中思考中介模式 46
    3.2.1什麼是中介模式 46
    3.2.2中介模式設計思想 46
    3.3中介模式的模型抽像 48
    3.3.1代碼框架 48
    3.3.2類圖 49
    3.3.3模型說明 50
    3.4實戰應用 51
    3.5應用場景 56
    第4章裝飾模式 57
    4.1從生活中領悟裝飾模式 57
    4.1.1故事劇情―你想怎麼搭就怎麼搭 57
    4.1.2用程序來模擬生活 58
    4.2從劇情中思考裝飾模式 62
    4.2.1什麼是裝飾模式 62
    4.2.2裝飾模式設計思想 63
    4.3裝飾模式的模型抽像 64
    4.3.1類圖 64
    4.3.2Python中的裝飾器 64
    4.3.3模型說明 69
    4.4應用場景 70
    第5章單例模式 71
    5.1從生活中領悟單例模式 71
    5.1.1故事劇情―你是我的唯一 71
    5.1.2用程序來模擬生活 72
    5.2從劇情中思考單例模式 73
    5.2.1什麼是單例模式 73
    5.2.2單例模式設計思想 73
    5.3單例模式的模型抽像 73
    5.3.1代碼框架 73
    5.3.2類圖 78
    5.3.3基於框架的實現 78
    5.4應用場景 79
    第6章克隆模式 80
    6.1從生活中領悟克隆模式 80
    6.1.1故事劇情―給你一個分身術 80
    6.1.2用程序來模擬生活 80
    6.2從劇情中思考克隆模式 82
    6.2.1什麼是克隆模式 82
    6.2.2淺拷貝與深拷貝 82
    6.3克隆模式的模型抽像 86
    6.3.1代碼框架 86
    6.3.2類圖 86
    6.3.3基於框架的實現 87
    6.3.4模型說明 87
    6.4實戰應用 88
    6.5應用場景 90
    第7章職責模式 91
    7.1從生活中領悟職責模式 91
    7.1.1故事劇情―我的假條去哪兒了 91
    7.1.2用程序來模擬生活 92
    7.2從劇情中思考職責模式 96
    7.2.1什麼是職責模式 96
    7.2.2職責模式設計思想 96
    7.3職責模式的模型抽像 97
    7.3.1代碼框架 97
    7.3.2類圖 98
    7.3.3基於框架的實現 99
    7.3.4模型說明 102
    7.4應用場景 103
    第8章代理模式 104
    8.1從生活中領悟代理模式 104
    8.1.1故事劇情―幫我拿一下快遞 104
    8.1.2用程序來模擬生活 105
    8.2從劇情中思考代理模式 107
    8.2.1什麼是代理模式 107
    8.2.2代理模式設計思想 107
    8.3代理模式的模型抽像 107
    8.3.1代碼框架 107
    8.3.2類圖 109
    8.3.3基於框架的實現 110
    8.3.4模型說明 111
    8.4應用場景 111
    第9章外觀模式 113
    9.1從生活中領悟外觀模式 113
    9.1.1故事劇情―學妹別慌,學長幫你 113
    9.1.2用程序來模擬生活 114
    9.2從劇情中思考外觀模式 116
    9.2.1什麼是外觀模式 116
    9.2.2外觀模式設計思想 116
    9.3外觀模式的模型抽像 117
    9.3.1類圖 117
    9.3.2軟件的分層結構 117
    9.3.3模型說明 119
    9.4實戰應用 119
    9.5應用場景 123
    第10章迭代模式 124
    10.1從生活中領悟迭代模式 124
    10.1.1故事劇情―下一個就是你了 124
    10.1.2用程序來模擬生活 125
    10.2從劇情中思考迭代模式 128
    10.2.1什麼是迭代模式 128
    10.2.2迭代模式設計思想 129
    10.3迭代模式的模型抽像 130
    10.3.1代碼框架 130
    10.3.2Python中的迭代器 132
    10.3.3類圖 136
    10.3.4模型說明 137
    10.4應用場景 138
    第11章組合模式 139
    11.1從生活中領悟組合模式 139
    11.1.1故事劇情―自己組裝電腦,價格再降三成 139
    11.1.2用程序來模擬生活 140
    11.2從劇情中思考組合模式 146
    11.2.1什麼是組合模式 146
    11.2.2組合模式設計思想 147
    11.3組合模式的模型抽像 148
    11.3.1代碼框架 148
    11.3.2類圖 149
    11.3.3模型說明 150
    11.4實戰應用 150
    11.5應用場景 153
    第12章構建模式 154
    12.1從生活中領悟構建模式 154
    12.1.1故事劇情―你想要一輛車還是一個莊園 154
    12.1.2用程序來模擬生活 155
    12.2從劇情中思考構建模式 157
    12.2.1什麼是構建模式 157
    12.2.2構建模式設計思想 157
    12.2.3與工廠模式的區別 158
    12.2.4與組合模式的區別 158
    12.3構建模式的模型抽像 159
    12.3.1類圖 159
    12.3.2基於框架的實現 160
    12.3.3模型說明 163
    12.4應用場景 164
    第13章適配模式 166
    13.1從生活中領悟適配模式 166
    13.1.1故事劇情――有個轉換器就好了 166
    13.1.2用程序來模擬生活 167
    13.2從劇情中思考適配模式 170
    13.2.1什麼是適配模式 170
    13.2.2適配模式設計思想 170
    13.3適配模式的模型抽像 172
    13.3.1代碼框架 172
    13.3.2類圖 172
    13.3.3模型說明 173
    13.4實戰應用 174
    13.5應用場景 184
    第14章策略模式 185
    14.1從生活中領悟策略模式 185
    14.1.1故事劇情―怎麼來不重要,人到就行 185
    14.1.2用程序來模擬生活 186
    14.2從劇情中思考策略模式 188
    14.2.1什麼是策略模式 188
    14.2.2策略模式設計思想 188
    14.3策略模式的模型抽像 189
    14.3.1類圖 189
    14.3.2模型說明 190
    14.4實戰應用 190
    14.5應用場景 195
    第15章工廠模式 196
    15.1從生活中領悟工廠模式 196
    15.1.1故事劇情―你要拿鐵還是摩卡呢 196
    15.1.2用程序來模擬生活 197
    15.2從劇情中思考工廠模式 199
    15.2.1什麼是簡單工廠模式 199
    15.2.2工廠模式設計思想 199
    15.3工廠三姐妹 199
    15.3.1簡單工廠模式 200
    15.3.2工廠方法模式 201
    15.3.3抽像工廠模式 203
    15.4進一步思考 205
    15.5實戰應用 205
    第16章命令模式 209
    16.1從生活中領悟命令模式 209
    16.1.1故事劇情―大閘蟹,走起 209
    16.1.2用程序來模擬生活 210
    16.2從劇情中思考命令模式 213
    16.2.1什麼是命令模式 213
    16.2.2命令模式設計思想 213
    16.3命令模式的模型抽像 214
    16.3.1代碼框架 214
    16.3.2類圖 215
    16.3.3模型說明 216
    16.4實戰應用 216
    16.5應用場景 224
    第17章備忘模式 225
    17.1從生活中領悟備忘模式 225
    17.1.1故事劇情―好記性不如爛筆頭 225
    17.1.2用程序來模擬生活 226
    17.2從劇情中思考備忘模式 228
    17.2.1什麼是備忘模式 228
    17.2.2備忘模式設計思想 229
    17.3備忘模式的模型抽像 229
    17.3.1類圖 229
    17.3.2代碼框架 230
    17.3.3模型說明 232
    17.4實戰應用 232
    17.5應用場景 235
    第18模式 236
    18.1從生活中模式 236
    18.1.1故事劇情―顏料很貴,必須充分利用 236
    18.1.2用程序來模擬生活 237
    18.2從劇情中模式 239
    18.2.1什模式 239
    18.2.模式設計思想 239
    18.模式的模型抽像 239
    18.3.1類圖 239
    18.3.2基於框架的實現 240
    18.3.3模型說明 242
    18.4應用場景 243
    第19章訪問模式 244
    19.1從生活中領悟訪問模式 244
    19.1.1故事劇情―一千個讀者一千個哈姆雷特 244
    19.1.2用程序來模擬生活 245
    19.2從劇情中思考訪問模式 246
    19.2.1什麼是訪問模式 246
    19.2.2訪問模式設計思想 247
    19.3訪問模式的模型抽像 247
    19.3.1代碼框架 247
    19.3.2類圖 248
    19.3.3基於框架的實現 249
    19.3.4模型說明 250
    19.4實戰應用 251
    19.5應用場景 255
    第20章其他經典設計模式 256
    20.1模板模式 256
    20.1.1模式定義 256
    20.1.2類圖結構 257
    20.1.3代碼框架 257
    20.1.4應用案例 259
    20.1.5應用場景 261
    20.2橋接模式 261
    20.2.1模式定義 261
    20.2.2類圖結構 261
    20.2.3應用案例 262
    20.2.4應用場景 266
    20.3解釋模式 266
    20.3.1模式定義 266
    20.3.2類圖結構 266
    20.3.3應用案例 267
    20.3.4應用場景 271

    ★進階篇


    第21章深入解讀過濾器模式 274
    21.1從生活中領悟過濾器模式 274
    21.1.1故事劇情―制作一杯鮮純細膩的豆漿 274
    21.1.2用程序來模擬生活 275
    21.2從劇情中思考過濾器模式 275
    21.2.1過濾器模式 276
    21.2.2與職責模式的聯繫 276
    21.3過濾器模式的模型抽像 276
    21.3.1代碼框架 277
    21.3.2類圖 278
    21.3.3基於框架的實現 278
    21.3.4模型說明 279
    21.4實戰應用 280
    21.5應用場景 282
    第22章深入解讀對像池技術 283
    22.1從生活中領悟對像池技術 283
    22.1.1故事劇情―共享讓出行更便捷 283
    22.1.2用程序來模擬生活 284
    22.2從劇情中思考對像池機制 287
    22.2.1什麼是對像池 287
    22.2.2模式的聯繫 287
    22.3對像池機制的模型抽像 288
    22.3.1代碼框架 288
    22.3.2類圖 291
    22.3.3基於框架的實現 292
    22.3.4模型說明 294
    22.4應用場景 295
    第23章深入解讀回調機制 296
    23.1從生活中領悟回調機制 296
    23.1.1故事劇情―把你的技能亮出來 296
    23.1.2用程序來模擬生活 296
    23.2從劇情中思考回調機制 298
    23.2.1回調機制 298
    23.2.2設計思想 299
    23.3回調機制的模型抽像 299
    23.3.1面向過程的實現方式 299
    23.3.2面向對像的實現方式 300
    23.3.3模型說明 301
    23.4實戰應用 302
    23.4.1基於回調函數的實現 302
    23.4.2基於策略模式的實現 303
    23.4.3 回調在異步中的應用 307
    23.5應用場景 310
    第24章深入解讀MVC模式 311
    24.1從生活中領悟MVC模式 311
    24.1.1故事劇情―定格最美的一瞬間 311
    24.1.2用程序來模擬生活 312
    24.2從劇情中思考MVC模式 316
    24.2.1MVC模式 317
    24.2.2與中介模式的聯繫 317
    24.2.3與外觀模式的聯繫 317
    24.3MVC模式的模型抽像 318
    24.3.1MVC 318
    24.3.2MVP 318
    24.3.3MVVM 319
    24.3.4模型說明 320
    24.4應用場景 320

    ★經驗篇


    第25章關於設計模式的理解 324
    25.1眾多書籍之下為何還要寫此書 324
    25.2設計模式玄嗎 324
    25.3如何區分不同的模式 325
    25.4編程思想的三重境界 325
    第26章關於設計原則的思考 327
    26.1SOLID原則 327
    26.1.1單一職責原則 327
    26.1.2開放封閉原則 331
    26.1.3裡氏替換原則 334
    26.1.4依賴倒置原則 337
    26.1.5接口隔離原則 341
    26.2是否一定要遵循這些設計原則 348
    26.2.1軟件設計是一個逐步優化的過程 348
    26.2.2不是一定要遵循這些設計原則 349
    26.3更為實用的設計原則 349
    26.3.1LoD原則(Law of Demeter) 349
    26.3.2KISS原則(Keep It Simple and Stupid) 350
    26.3.3DRY原則(Don’t Repeat Yourself) 351
    26.3.4YAGNI原則(You Aren't Gonna Need It) 353
    26.3.5Rule Of Three原則 353
    26.3.6CQS原則(Command-Query Separation) 354
    第27章關於項目重構的思考 355
    27.1什麼叫重構 355
    27.2為何要重構 355
    27.3什麼時機進行重構 356
    27.4如何重構代碼 357
    27.4.1重命名 357
    27.4.2函數重構 358
    27.4.3重新組織數據 359
    27.4.4用設計模式改善代碼設計 360
    27.5代碼整潔之道 360
    27.5.1命名的學問 360
    27.5.2整潔代碼的案例 362

    附錄A23種經典設計模式的索引對照表 368
    附錄BPython中__new__、__init__和__call__的用法 370
    附錄CPython中metaclass的原理 377

    查看全部↓

    精彩書摘

    22.1從生活中領悟對像池技術


    22.1.1故事劇情—共享讓出行更便捷

    大學室友也是死黨Sam首次來杭州,作為東道主的Tony自然得悉心招待,不敢怠慢。這不,既要陪喫陪喝,還要陪玩,哈哈!

    第一次來杭州,西湖是非去不可的。正值周末,風和日麗,最適合遊玩。上午9點出發,Tony和Sam打一輛滴滴快車從濱江到西湖的南山路。然後從大華飯店步行到斷橋,穿過斷橋,漫步白堤,遊走孤山島,就這樣一路走走停停,閑聊、拍照,很快就到了中午。中午他們在嶽王廟附近找了一家生煎店,簡單解決了午餐(大餐留著晚上喫)。因為拍照拍得比較多,手機沒電了,正好看到店裡有共享充電寶,便借了一個給手機充電,多休息了一個小時。下午,他們準備沿著最美的西湖路騎行。喫完午飯,他們找了兩輛共享自行車,從楊公堤開始騎行,路過太子灣、雷峰塔,然後到柳浪聞鶯。之後沿湖步行走到龍翔橋,找了一家最具杭州特色的飯店解決晚餐……

    這一路行程從共享汽車(滴滴快車)到共享自行車,再到共享充電寶,共享的生活方式已滲透到了生活的方方面面。共享,不僅讓我們出行更便捷,而且更節約資源!

    22.1.2用程序來模擬生活

    共享經濟的飛速發展改變了我們的生活方式,例如共享自行車、共享雨傘、共享充電寶、共享KTV等。共享讓我們的生活更便利,你不用帶充電寶,卻可以隨時用到充電寶;共享讓我們更節約資源,你不用買自行車,但能隨時騎到自行車(一輛車可以為多個人服務)。我們以共享充電寶為例,用程序來模擬一下它是怎樣做到資源節約和共享的。


    源碼示例22-1模擬故事劇情

    class PowerBank:

    "移動電源"

    def __init__(self, serialNum, electricQuantity):

    self.__serialNum = serialNum

    self.__electricQuantity = electricQuantity

    self.__user =

    def getSerialNum(self):

    return self.__serialNum

    def getElectricQuantity(self):

    return self.__electricQuantity

    def setUser(self, user):

    self.__user = user

    def getUser(self):

    return self.__user

    def showInfo(self):

    print("序列號:%s 電量:%d%% 使用者:%s" % (self.__serialNum, self.__electricQuantity, self.__user) )

    class ObjectPack:

    "對像的包裝類

    封裝指定的對像(如充電寶)是否正在被使用中"

    def __init__(self, obj, inUsing = False):

    self.__obj = obj

    self.__inUsing = inUsing

    def inUsing(self):

    return self.__inUsing

    def setUsing(self, isUsing):

    self.__inUsing = isUsing

    def getObj(self):

    return self.__obj

    class PowerBankBox:

    "存放移動電源的智能箱盒"

    def __init__(self):

    self.__pools = {}

    self.__pools["0001"] = ObjectPack(PowerBank("0001", 100))

    self.__pools["0002"] = ObjectPack(PowerBank("0002", 100))

    def borrow(self, serialNum):

    "借用移動電源"

    item = self.__pools.get(serialNum)

    result = None

    if(item is None):

    print("沒有可用的電源!")

    elif(not item.inUsing()):

    item.setUsing(True)

    result = item.getObj()

    else:

    print("%s電源 已被借用!" % serialNum)

    return result

    def giveBack(self, serialNum):

    "歸還移動電源"

    item = self.__pools.get(serialNum)

    if(item is not None):

    item.setUsing(False)

    print("%s電源 已歸還!" % serialNum)

    測試代碼:

    def testPowerBank():

    box = PowerBankBox()

    powerBank1 = box.borrow("0001")

    if(powerBank1 is not None):

    powerBank1.setUser("Tony")

    powerBank1.showInfo()

    powerBank2 = box.borrow("0002")

    if(powerBank2 is not None):

    powerBank2.setUser("Sam")

    powerBank2.showInfo()

    powerBank3 = box.borrow("0001")

    box.giveBack("0001")

    powerBank3 = box.borrow("0001")

    if(powerBank3 is not None):

    powerBank3.setUser("Aimee")

    powerBank3.showInfo()

    輸出結果:

    序列號:0001 電量:100% 使用者:Tony

    序列號:0002 電量:100% 使用者:Sam

    0001電源 已被借用!

    0001電源 已歸還!

    序列號:0001 電量:100% 使用者:Aimee


    查看全部↓

    前言/序言

    三年前,CSDN推出了一個產品——ink,旨在提供一個高質量寫作環境。那時,我想寫一繫列關於設計模式的文章,於是就在ink裡開始寫作,陸陸續續寫了三篇文章,後來不知道什麼原因這個產品下架了,我的三篇文章也沒了,這事也就一直被我擱置下來。直到2017年,知識付費盛行,各類付費的社區、產品如雨後春筍般崛起,而技術類的付費閱讀產品更是大行其道(GitChat便是其中一種)。在GitChat的盛情邀請之下,我寫作設計模式這一繫列文章的想法又重新被點燃。2017年年底,我開始在GitChat上寫“從生活中領悟設計模式(Python)”課程。2018年,我對這一課程進行了一次升級。
    隨著這一課程被越來越多的讀者熟知,不少出版社編輯找到我,他們覺得這一課程的內容非常有特色,希望能把它重新整理,仔細打磨,出版成書,於是便有了本書。
    本書的特色
    設計模式作為面向對像程序的設計思想和方法論,本身是非常抽像和難以理解的,需要有一定的代碼量和編程經驗纔能更深入地理解。如果能用一種有趣的方式來講解設計模式,將會使這些枯燥乏味的概念變得更易於理解!
    本書每一章以一個輕松有趣的小故事開始,然後用代碼來模擬故事劇情,再從模擬代碼中逐步提煉出設計模式的模型和原理,最後配合一個具體的應用案例,告訴你每一種模式的使用方法和應用場景。以由淺入深的方式帶你了解每一種模式,思考每一種模式,總結每一種模式。
    本書力求用更通俗的語言闡述難懂的概念,用更簡單的語法實現復雜的邏輯,用更短小的代碼寫出強悍的程序!希望能帶給讀者一種全新的閱讀體驗和思考方式。
    內容概述
    本書分為3篇:
    “基礎篇”講解了23種經典設計模式,其中19 種常用設計模式分別用單獨的章節講解,其餘設計模式作為一個合集放在一章中講解;
    “進階篇”講解了由基礎設計模式衍生出的各種編程機制,包括過濾器模式、對像池技術、回調機制和MVC模式,它們在各大編程語言中都非常重要而且常見;
    “經驗篇”結合工作經驗和項目積累,分享了對設計模式、設計原則、項目重構的理解和看法。
    讀者對像
    一線互聯網軟件開發者
    如果你想提升面向對像的思維方式,提高自己的軟件設計能力,本書會對你非常有幫助。本書每一章會抽像和總結出對應設計模式的模型和原理,並結合具體的應用案例告訴你該模式的應用場景、特點和注意事項。
    IT職場新人
    如果你是IT新人,想通過學習設計模式來提升自己的技術能力和代碼理解能力,本書將非常適合你。本書每一章以一個輕松有趣的小故事開始,由淺入深地講述一個模式,讓你輕松愉悅地學會每一種模式。
    對設計模式和編程思想感興趣的人士
    設計模式能讓你的代碼具有更高的可重用性、更好的靈活性和可拓展性,更易被人閱讀和理解,因此學習設計模式是每一個程序員編程生涯中必不可少的一個環節。
    為什麼叫設計模式
    什麼是設計模式
    設計模式最初是由GoF於1995年提出的。GoF全稱是Gang of Four(四人幫),即Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides。他們四人於1995年出版了一本書Design Patterns: Elements of Reusable Object-Oriented Software(翻譯成中文是《設計模式:可復用面向對像軟件的基礎》),第一次將設計模式提升到理論高度,並將之規範化,該書提出了23種經典的設計模式。
    設計模式是一套被反復使用、多數人知曉、無數工程師實踐的代碼設計經驗的總結,它是面向對像思想的高度提煉和模板化。使用設計模式是為了讓代碼具有更高的可重用性、更好的靈活性和可拓展性,更易被人閱讀和理解。
    設計模式與生活有什麼聯繫
    我一直堅信:程序源於生活,又高於生活!程序的靈魂在於思維的方式,而思維的靈感來源於精彩的生活。互聯網是一個虛擬的世界,而程序本身就是對生活場景的虛擬和抽像,每一種模式我都能在生活中找到它的影子。比如,說到狀態模式,我能想到水有固、液、氣三種狀態,而人也有少、壯、老三個階段;提起中介模式,我能立刻想到房產中介;看到裝飾模式,我能聯想到人的穿衣搭配……
    設計模式是面向對像的高度抽像和總結,而越抽像的東西越難以理解。本書的寫作目的就是降低設計模式的閱讀門檻,以生活中的小故事開始,用風趣的方式,由淺入深地講述每一種模式。讓你再次看到設計模式時,不覺得它隻是一種模式,還是生活中的一個“小確幸”!程序不是冷冰冰的代碼,它還有生活的樂趣和特殊意義。
    為什麼要學設計模式
    設計模式是軟件開發人員在軟件開發過程中面臨的一般問題的解決方案。這些解決方案是眾多軟件開發人員經過相當長的一段時間的試驗總結出來的。所以不管你是新手還是老手,學習設計模式對你都有莫大的幫助。
    學習設計模式的理由有很多,這裡隻列出幾個最現實的:
    (1)擺脫面試的窘境,不管你是前端工程師還是後端工程師,或是全端工程師,設計模式都是不少面試官必問的。
    (2)讓你的程序設計能力有一個質的提升,不再寫一堆結構復雜、難以維護的爛代碼。
    (3)使你對面向對像的思想有一個更高層次的理解。
    如何進行學習
    熟悉一門面向對像語言
    首先,你至少要熟悉一門面向對像的計算機語言。如果沒有,請根據自己的興趣、愛好或希望從事的工作,先選擇一門面向對像語言(C++、Java、Go等都可以)進行學習和實戰,對抽像、繼承、多態、封裝有一定的基礎之後,再來閱讀本書。
    了解Python的基本語法
    對Python的基本語法有一個簡單了解。Python的語法非常簡單,隻要你有一定的(其他)編程語言基礎,通過“第0章 啟程之前,請不要錯過我”的學習就能很快地理解Python的語法。
    學會閱讀UML圖
    UML(Unified Modeling Language)稱為統一建模語言或標準建模語言,是面向對像軟件的標準化建模語言。UML類圖表示不同的實體(人、事物和數據)如何彼此相關,換句話說,它顯示了繫統的靜態結構。想進一步了解類圖中的各種關繫,可參考閱讀“第0章 啟程之前,請不要錯過我”的“0.2UML精簡概述”部分。
    閱讀本書
    通過閱讀本書內容,可以輕松愉快地學習設計模式和編程思想。本書“基礎篇”“進階篇”“經驗篇”的內容是逐步進階和提升的,但每一篇內的不同章之間是沒有閱讀的先後順序的(第0章和有特殊說明的除外),每一章都單獨成文,可從任意一章開始閱讀。例如,對於基礎篇的23種設計模式,你可以從中任意挑選一章開始閱讀。
    為什麼選擇Python
    雖然設計模式與編程語言沒有關繫,它是對面向對像思想的靈活應用和高度概括,你可以用任何一種語言來實現它,但總歸是需要用一種語言進行舉例的。本書的所有示例代碼均使用Python編寫(有特殊說明的除外),選擇Python主要基於以下兩個原因。
    彌補市場空缺
    設計模式於1995由GoF提出,被廣泛應用於熱門的面向對像語言。目前用Java、C++描述的設計模式的書籍和資料已經非常多了,但用Python來描述的真是太少了;我在當當網上搜索“Python設計模式”,隻有零星的幾本書。而對於編程語言中排名前三的Python語言,這明顯是不夠的。Python已經越來越成熟,也越來越多地被使用,作為一個有技術追求的IT人,有必要了解一下基於Python代碼的設計模式。
    大勢所趨,Python已然成風
    C語言誕生於1972年,卻隨著UNIX的誕生纔深深根植於各大操作繫統;C++誕生於1983年,卻因微軟的可視化桌面操作繫統纔得以廣泛傳播;Java誕生於1995年,卻因互聯網的迅速崛起纔變得家喻戶曉;Python誕生於1991年,而下一場技術革命已然開始,AI時代已然到來,在AI領域中已經被廣泛使用的Python必將成為下一個時代的第一開發語言!
    最熱門的AI開源框架PyTorch和TensorFlow都已經采用了Python作為接口和開發語言。除此之外,還有一堆AI相關的框架庫,也都紛紛采用了Python,如SKlearn、PyML等。一門如此有前途的語言,我們必然是要去學習和使用的。
    勘誤和支持
    由於本人水平和經驗有限,書中難免會有一些錯誤或理解不準確的地方,懇請廣大讀者批評指正。
    如果你在閱讀過程中發現錯誤,或有更好的建議,歡迎發郵件給我(E-mail:luoweifu@ 126.com,永久有效)。
    最新的勘誤內容可通過以下方式查看:關注公眾號“SunLogging”,在菜單欄中選擇“我的書箱”→“最新勘誤”。
    致謝
    從在GitChat上寫課程,到與出版社合作,寫完本書的書稿,大概經歷了一年半的時間,經過無數次與編輯的反復校對。寫作是一件非常考驗人耐心和細心的事,為了讓讀者更易理解,有些章節我進行了反復的推敲和修改。比如,為了講清楚單例模式的每一種實現方式的原理,硬是增加了兩個附錄,閱讀了十幾篇文章,並做了驗證性的實驗,整整花了三周時間纔寫完。
    感謝每一位在本書寫作過程中給予幫助的人,是你們的鼓勵和支持,纔讓本書能順利完成。在此,要特別感謝電子出版社的首席策劃編輯董英,在寫書過中給予的諸多建議;也感謝GitChat的編輯馬翠翠,在寫線上課程“從生活中領悟設計模式(Python)”時給予的很多幫助;還要感謝Sophia“小朋友”,在封面設計過程中提出的非常細致的改進意見!最後,我也要感謝我的朋友和同事對我寫書的鼓勵和支持。
    還要感謝Sophia“小朋友”,在封面設計過程中提出的非常細致的改進意見!

    查看全部↓



    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部