模式

出版時間:2012-4  出版社:電子工業(yè)出版社  作者:王翔  頁數(shù):395  
Tag標簽:無  

內(nèi)容概要

  設(shè)計模式不是一門適合空談的技術(shù),它來自于開發(fā)人員的工程實踐又服務(wù)于工程實踐。
  本書并不是一本面向入門者的讀物,因為它需要結(jié)合工程實踐介紹如何發(fā)現(xiàn)模式靈感、如何應(yīng)用模式技術(shù)。不過作為一本介紹設(shè)計模式的書,它并不需要讀者對于龐大的JDK有深入了解,因為擴展主要是結(jié)合Java語法完成的,配合書中的實例,相信讀者不僅能夠熟練應(yīng)用設(shè)計模式技術(shù),也能令自己的Java語言上一個臺階。
  為了降低學習門檻,本書第一部分除了介紹面向?qū)ο笤O(shè)計原則外,還充實了一些Java語言的介紹,但這些內(nèi)容并不是枯燥的講解,讀者可以在閱讀中通過一系列動手練習盡快吸收這些理論并將它們內(nèi)化為自己的技能。本書最后一部分的“GOF綜合練習”把各種設(shè)計模式做了一次集中展示,目的是讓讀者把分散的模式知識融合在一起,能夠?qū)局R真正用于改善一個“準”生產(chǎn)型模塊的實現(xiàn)。

書籍目錄

第一篇 預(yù)備知識——發(fā)掘Java語言的面向?qū)ο笤O(shè)計潛力
 第1章 面向?qū)ο笤O(shè)計原則
  1.1 說明
  1.2 單一職責原則(SRP)
  1.3 里氏替換原則(LSP)和依賴倒置原則(DIP)
  1.4 接口隔離原則(ISP)
  1.5 迪米特法則(Law of Demeter,LoD)
  1.6 開閉原則(OCP)
  1.7 小結(jié)
  1.8 自我檢驗
 第2章 重新研讀Java語言
  2.1 說明
  2.2 Java部分語法內(nèi)容擴展
  2.2.1 規(guī)劃和組織代碼——包
  2.2.2 正式命名的常量契約——枚舉
  2.2.3 考驗算法的抽象能力——泛型
  2.2.4 用貼標簽的方式擴展對象特性——標注
  2.3 面向插件架構(gòu)的配置系統(tǒng)設(shè)計
  2.4 依賴注入
  2.4.1 背景介紹
  2.4.2 示例情景
  2.4.3 構(gòu)造注入(Constructor)
  2.4.4 設(shè)值注入(Setter)
  2.4.5 接口注入
  2.4.6 小結(jié)
  2.4.7 自我檢驗
  2.5 連貫接口(Fluent Interface)
  2.6 自我檢驗
 第3章 Java和C#
  3.1 說明
  3.2 枚舉
  3.3 泛型
  3.4 屬性和標注
  3.5 操作符重載和類型轉(zhuǎn)換重載
  3.6 委托、事件、匿名方法
  3.7 Lamada和LINQ
  3.8 小結(jié)
第二篇 創(chuàng)建型模式——管理對象實例的構(gòu)造過程
 第4章 工廠&工廠方法模式
  4.1 說明
  4.2 簡單工廠
  4.2.1 最簡單的工廠類
  4.2.2 簡單工廠的局限性
  4.3 經(jīng)典回顧
  4.4 解耦工廠類型與客戶程序
  4.5 基于配置文件的工廠
  4.5.1 基于配置文件解耦工廠接口和具體工廠類型
  4.5.2 基于配置文件解耦工廠類型和具體工作產(chǎn)品
  4.6 批量工廠
  4.7 典型工程化實現(xiàn)
  4.8 小結(jié)
  4.9 Java 中的典型實現(xiàn)
  4.10 自我檢驗
 第5章 單件模式
  5.1 說明
  5.2 經(jīng)典回顧
  5.3 枚舉方式的單件模式
  5.4 細節(jié)決定成敗
  5.5 線程級單件模式
  5.6 分布式環(huán)境下的單件模式
  5.7 單件模式的使用問題
  5.8 小結(jié)
  5.9 Java 中的典型實現(xiàn)
 第6章 抽象工廠模式
  6.1 說明
  6.2 經(jīng)典回顧
  6.3 解決經(jīng)典模式的硬傷
  6.4 委托生產(chǎn)外包
  6.5 小結(jié)
  6.6 Java 中的典型實現(xiàn)
 第7章 創(chuàng)建者模式
  7.1 說明
  7.2 經(jīng)典回顧
  7.3 為Builder貼個標簽
  7.4 具有裝配/卸裁能力的Builder
  7.5 連貫接口形式的Builder
  7.6 小結(jié)
  7.7 Java 中的典型實現(xiàn)
  7.8 自我檢驗
 第8章 原型模式
  8.1 說明
  8.2 經(jīng)典回顧
  8.3 表面模仿還是深入模仿
  8.3.1 概念
  8.3.2 “純手工”實現(xiàn)深層復制
  8.3.3 制作實現(xiàn)序列化工具類型
  8.3.4 簡單自定義復制過程
  8.3.5 細顆粒度自定義復制過程
  8.4 小結(jié)
  8.5 自我檢驗
第三篇 結(jié)構(gòu)型模式——組織靈活的對象體系
 第9章 適配器模式
  9.1 說明
  9.2 經(jīng)典回顧
  9.3 組適配器
  9.4 用配置約定適配過程
  9.5 面向數(shù)據(jù)的適配機制
  9.6 小結(jié)
  9.7 Java 中的典型實現(xiàn)
  9.8 自我檢驗
 第10章 橋模式
  10.1 說明
  10.2 經(jīng)典回顧
  10.3 分解復雜性的多級橋關(guān)系
  10.4 具有分支的橋
  10.5 看著“圖紙”造橋
  10.6 具有約束關(guān)系的橋
  10.7 小結(jié)
  10.8 自我檢驗
 第11章 組合模式
  11.1 說明
  11.2 經(jīng)典回顧
  11.3 適于XML信息的組合模式
  11.4 分布式“部分——整體”環(huán)境
  11.5 小結(jié)
  11.6 Java 中的典型實現(xiàn)
  11.7 自我檢驗
 第12章 裝飾模式
  12.1 說明
  12.2 經(jīng)典回顧
  12.3 卸載裝飾
  12.4 通過配置和創(chuàng)建者完成裝飾過程
  12.5 Java 中的典型實現(xiàn)
  12.6 小結(jié)
 第13章 外觀模式
  13.1 說明
  13.2 經(jīng)典回顧
  13.3 平臺、開發(fā)語言無關(guān)的抽象外觀接口——WSDL
  13.4 Java 中的典型實現(xiàn)
  13.5 小結(jié)
 第14章 享元模式
  14.1 說明
  14.2 經(jīng)典回顧
  14.3 枚舉享元方式
  14.4 制訂共享計劃
  14.5 通過“委托——代理”關(guān)系和隊列實現(xiàn)異步享元
  14.6 小結(jié)
 第15章 代理模式
  15.1 說明
  15.2 經(jīng)典回顧
  15.3 遠程代理
  15.4 動態(tài)代理
  15.5 Java中的典型實現(xiàn) 3
  15.6 小結(jié)
第四篇 行為型模式——算法、控制流的對象化操作
 第16章 職責鏈模式
  16.1 說明
  16.2 經(jīng)典回顧
  16.3 非鏈表方式定義職責鏈
  16.4 小結(jié)
  16.5 Java 中的典型實現(xiàn)
 第17章 模板方法模式
  17.1 說明
  17.2 經(jīng)典回顧
  17.3 類和接口的模板——泛型
  17.4 系統(tǒng)架構(gòu)的模板——配置
  17.5 小結(jié)
  17.6 Java 中的典型實現(xiàn)
  17.7 自我檢驗
 第18章 解釋器模式
  18.1 說明
  18.2 經(jīng)典回顧
  18.3 采用正則表達式
  18.4 采用字典
  18.5 多級解釋器系統(tǒng)
  18.6 用XSD解釋自定義業(yè)務(wù)語言
  18.7 小結(jié)
  18.8 Java中的典型實現(xiàn)
  18.9 自我檢驗
 第19章 命令模式
  19.1 說明
  19.2 經(jīng)典回顧
  19.3 打包命令對象
  19.4 異步命令操作
  19.5 命令操作隊列
  19.6 小結(jié)
  19.7 Java 中的典型實現(xiàn)
  19.8 自我檢驗
 第20章 迭代器模式
  20.1 說明
  20.2 經(jīng)典回顧
  20.3 Java內(nèi)置的迭代器
  20.4 小結(jié)
  20.5 自我檢驗
 第21章 中介者模式
  21.1 說明
  21.2 經(jīng)典回顧
  21.3 根據(jù)配置動態(tài)協(xié)調(diào)通知關(guān)系
  21.4 小結(jié)
  21.5 Java 中的典型實現(xiàn)
  21.6 自我檢驗
 第22章 備忘錄模式
  22.1 說明
  22.2 經(jīng)典回顧
  22.3 把備忘壓棧
  22.4 備忘錄的序列化和持久化
  22.5 小結(jié)
  22.6 Java 中的典型實現(xiàn)
  22.7 自我檢驗
 第23章 觀察者模式
  23.1 說明 1
  23.2 經(jīng)典回顧
  23.3 面向服務(wù)接口的觀察者
  23.4 小結(jié)
  23.5 Java中的典型實現(xiàn)
  23.6 自我檢驗 1
 第24章 狀態(tài)模式
  24.1 說明 3
  24.2 經(jīng)典回顧
  24.3 狀態(tài)的序列化和持久化
  24.4 主動狀態(tài)對象
  24.5 小結(jié)
  24.6 自我檢驗
 第25章 策略模式
  25.1 說明
  25.2 經(jīng)典回顧
  25.3 策略模式與解釋器模式的協(xié)作
  25.4 Java中的典型實現(xiàn)
  25.5 小結(jié)
 第26章 訪問者模式
  26.1 說明
  26.2 經(jīng)典回顧
  26.3 借助反射或Dynamic實現(xiàn)訪問者
  26.4 Java中的典型實現(xiàn)
  26.5 小結(jié)
  26.6 自我檢驗
第五篇 GOF綜合練習
 第27章 GOF部分階段實踐
  27.1 回顧GOF
  27.2 需求的提出
  27.3 第一輪技術(shù)分析
  27.4 第二輪技術(shù)分析
  27.5 第三輪技術(shù)分析
  27.6 示例實現(xiàn)
附錄 A Java和C#關(guān)鍵字對照表

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    模式 PDF格式下載


用戶評論 (總計12條)

 
 

  •   大家好:

    我是《模式——工程化實現(xiàn)及擴展》系列的作者王翔。

    最近上市的《模式——工程化實現(xiàn)及擴展(設(shè)計模式C# 版)》一書中發(fā)現(xiàn)有些章節(jié)出現(xiàn)了部分示例代碼中缺少空格的問題,盡管現(xiàn)在還沒找到具體出錯環(huán)節(jié),但我最后一次復審時沒有認真校對代碼是最主要的原因,向大家致歉。 也請大家購買前注意C#這本書此次印刷的版本中存在這個問題。

    網(wǎng)上的示例代碼是可以正常編譯并進行單元測試的,而且內(nèi)容比書中的示例完整,注釋也比較全。

    C#這本書出錯原因初步估計是最終排版時要對示例代碼統(tǒng)一字體,做字體轉(zhuǎn)換時導致代碼中空格丟失。

    《模式:工程化實現(xiàn)及擴展(設(shè)計模式Java版) 》經(jīng)過重新梳理暫時還沒有發(fā)現(xiàn)相同的問題,可能與我機器上Eclipse和Visual Studio默認字體不同有關(guān)。

    再次向各位讀者道歉。
  •   原諒我用了一個普通再也普通不過的標題:這是一本好書,因為我找不到合適的字眼來形容它。當?shù)谝淮文玫奖緯鴷r,就被她深深的吸引:先說封面,淡雅優(yōu)美,給人一種心曠神怡的感覺,讓你感覺她不再是一本技術(shù)書,而更像是藝術(shù)書;再說內(nèi)容,與眾不同,設(shè)計模式類的書籍多是“理論”與“實踐”相分離,讀者可以好不容易理解了理論知識,卻不知道如何實踐,而理論和實踐相結(jié)合,是本書一大特色,讓你看完本書后不再停留在設(shè)計模式是什么的階段,而是進入如何使用、用好設(shè)計模式的層次。
  •   值得收藏的一本書,雖然新手階段不一定用得到,但是深入學習的話會對你的代碼提高很有幫助!反復的構(gòu)思代碼的設(shè)計和優(yōu)化問題!
  •   感覺不錯的一本書,第一次看到這本書實在圖書館借的,現(xiàn)在想買下來慢慢看。
  •   這本書對于從剛剛從學校走出來的學生有很多的幫助!?。?/li>
  •   內(nèi)容實在,有條理性 很好了
  •   湊合著看吧,好像聽難的,要多找些資料對比才懂。。
  •   本書有一定難度,適合有基礎(chǔ)的程序員閱讀
  •   大體翻了一下,案例的復雜度可以說比較底,可以當練習
  •   剛拿到手還沒有看的
  •   別摳
  •     設(shè)計模式,既然是模式自然也應(yīng)被理解為套路。從使用方面來說,我們明白了場景,理解了套路所能應(yīng)用的場景,我們做個一一對應(yīng)也就容易了。
      但是現(xiàn)實似乎不是這樣的,似乎這里面充滿了陷阱,很多情況是為了使用而使用,手里拿著錘子看所有的東西都是釘子。這難道是童年買新玩具新奇感的延續(xù)么,我想不是的。我們?yōu)E用不是因為我們想去用,而是不知道怎么是正確的用,我們大腦最開始的反應(yīng)就是試錯的思路去處理事情。我們期望經(jīng)過多次試錯找到一個合理的方式去使用此模式,但是這里的問題出現(xiàn)了從量的角度來說是不夠的,一個項目的開發(fā)不足以涵蓋所有模式(因為使用場景不是很多,而可憐的幾個場景有能供你使用幾個模式呢),我們試錯的方式不是立刻顯現(xiàn)出來,越到項目的后期越能體現(xiàn)原來設(shè)計的好壞。當然當你經(jīng)歷多個項目后,你慢慢的在試錯中找到了感覺,也就用了經(jīng)驗,這也是為什么工作經(jīng)驗是重要的。
      難道沒有取巧之處么? 至少我認為是有更積極的方式去學習的。第一步,明細,明細要做到知道其是什么不是什么,它解決了你什么問題,它解決的這個問題帶來了那些好處同時帶來了那些弊端。尤其是弊端是你能接受的么(從數(shù)量上,工作的重復程度上去看)。
      第二步,辨析,應(yīng)用場景的辨析是要明細自己要完成的任務(wù)(你要解決的問題),正確的思路是:根據(jù)你要解決的問題,找解決問題的公式或者方法,逆向是走不通的。問題是從需求那里得出的(特別像從一道物理題中找出數(shù)學模型的過程),我們辨析問題,從中找到找到解決問題的步驟1,2,3. 在單個小問題中找出重復的問題提煉解決問題的辦法(模式自然會被使用)。
      
      第一步,看王翔的這書已經(jīng)足夠了。第二步要具體問題具體分析(在看一下分析方面的書)。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7