注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)網(wǎng)絡(luò)編程精通AspectJ:面向方面的Java編程指南

精通AspectJ:面向方面的Java編程指南

精通AspectJ:面向方面的Java編程指南

定 價(jià):¥48.00

作 者: (美)Joseph D. Gradecki,(美)Nicholas Lesiecki著;王欣軒,吳東升等譯;王欣軒譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302101611 出版時(shí)間: 2005-01-01 包裝: 平裝
開(kāi)本: 23cm 頁(yè)數(shù): 372 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  內(nèi)容簡(jiǎn)介目錄 本書(shū)著眼于AOP范例的全面介紹,可作為一本完整的AspectJ語(yǔ)言手冊(cè),以及針對(duì)客戶當(dāng)前和未來(lái)項(xiàng)目的AOP和AspectJ使用指導(dǎo)。 通過(guò)代碼片斷和全面解釋,對(duì)所有的aspect概念進(jìn)行說(shuō)明。掌握了AspectJ的概念之后,我們?cè)俳o出大量的例子來(lái)闡述如何利用AOP解決實(shí)際問(wèn)題。 本書(shū)的Web站點(diǎn)提供了書(shū)中的所有代碼,網(wǎng)址是www.wiley.com/compbooks/aradecki。網(wǎng)站上有一個(gè)包含第個(gè)章節(jié)的代碼的壓縮文件。本書(shū)中的示例是通過(guò)Java SDK 1.4版本創(chuàng)建的(必須安裝Java SDK)。除了Java之外,還有AspectJ編譯器及運(yùn)行時(shí)組件(這些組件可以在www.eclipse.org/aspectj上找到)。 第1章 AOP簡(jiǎn)介1.1 00P把我們帶到了何處1.2 AOP如何解決OOP問(wèn)題1.2.1什么是AOP1.2.2 AOP的開(kāi)發(fā)過(guò)程1.3 結(jié)束語(yǔ)第2章 實(shí)現(xiàn)AOP2.1 AOP語(yǔ)言剖析2.1.1 AOP語(yǔ)言規(guī)范2.1.2 AOP語(yǔ)言的實(shí)現(xiàn)2.2 AspectJ2.3 結(jié)束語(yǔ)第3章 AspectJ的獲取和安裝3.1 AspectJ的要求3.2 下載AspectJ3.3 安裝AspectJP3.3.1 設(shè)置PATH3.3.2 設(shè)置CLASSPATH3.4 安裝測(cè)試3.5 結(jié)束語(yǔ)第4章 實(shí)現(xiàn)AspmJ4.1 我們的首個(gè)AspectJ程序4.1.1 首先編寫(xiě)組件4.1.2 aspect代碼4.1.3 識(shí)別連接點(diǎn)4.1.4 確定poincut4.1.5 提供advice4.1.6 增加一個(gè)aspect4.1.7 編譯和執(zhí)行這個(gè)例子4.2 添加一個(gè)新的關(guān)注點(diǎn)4.2.1 返回文本的方法4.2.2 把返回方法記入日志4.2.3 一個(gè)新的首要關(guān)注點(diǎn)4.3 暴露的上下文4.4 類型間聲明4.5 aspect粒度4.6 AspectJ編譯器功能4.6.1 指定源目錄4.6.2 用JAR進(jìn)行織人4.6.3 指定輸出到一個(gè)JAR文件4.6.4 創(chuàng)建和使用aspect庫(kù)4.6.5 阻止織人4.6.6 使用漸進(jìn)式編譯4.7 結(jié)束語(yǔ)第5章 AspectJ連接點(diǎn)5.1 動(dòng)態(tài)連接點(diǎn)模型5.2 AspectJ連接點(diǎn)5.3 連接點(diǎn)簽名5.4 模式5.4.1類型名稱模式5.4.2 子類型模式5.4.3 拋出模式5.4.4 類型模式5.5 反射5.5.1 thisJoinPoint方法5.5.2 thisJoinPointStaticPart方法5.6 連接點(diǎn)示例5.6.1 方法調(diào)用接收和執(zhí)行5.6.2 構(gòu)造函數(shù)的調(diào)用接收/執(zhí)行以及對(duì)象初始化5.6.3 字段獲?。O(shè)置5.6.4 異常處理程序執(zhí)行5.6.5 類初始化5.7 結(jié)束語(yǔ)第6章 AspectJ pointcut6.1 三個(gè)類的介紹6.2 建立oointeut6.3 使用指示符6.3.1 指示符快速參考6.3.2 使用邏輯運(yùn)算符來(lái)創(chuàng)建指示符組合6.4 組合pointcut6.4.1 方法相關(guān)的pointeut6.4.2 異常處理指示符6.4.3 與域有關(guān)的指示符6.4.4 基于狀態(tài)的指示符6.4.5 基于控制流的指示符6.4.6 類初始化指示符6.4.7 基于程序文本的指示符6.4.8 基于動(dòng)態(tài)屬性的指示符6.4.9 adviceexecution6.4.10 preinitialization6.4.11 處理接口6.4.12 匿名pointcut6.4.13 在類中使用aspect6.4.14 創(chuàng)建Factory對(duì)象6.4.15 捕獲Java庫(kù)調(diào)用6.4.16 訪問(wèn)final屬性6.4.17 異常模式6.5 結(jié)束語(yǔ)第7章 advice7.1 advice的定義7.1.1 將信息添加到Stem.out.println()中7.1.2 advice7.1.3 形式定義.7.2 所有類型advice中普遍存在的問(wèn)題7.2.1 將上下文導(dǎo)人advice中7.2.2 advice與異常7.3 advice的類型:概述7.4 before advice7.5 after advice"7.5.1 after advice(無(wú)限制型)7.5.2 after拋出7.5.3 after returning7.6 around advice7.6.1 對(duì)getProperty()調(diào)用進(jìn)行替換7.6.2 proceed()7.7 advice的優(yōu)先級(jí)7.7.1 優(yōu)先級(jí)的重要性7.7.2 優(yōu)先級(jí)的決定方法7.7.3 運(yùn)行期執(zhí)行7.7.4 偽優(yōu)先級(jí)7.8 結(jié)束語(yǔ)第8章 類型間聲明8.1 類型間聲明的簡(jiǎn)單例子8.1.1 向類中添加方法8.1.2 引入和advice8.2 類型間成員:機(jī)制8.2.1 類型間成員的類型8.2.2 類型間聲明的目標(biāo)8.2.3 訪問(wèn)控制8.2.4 成員間的沖突8.3 declare parents8.3.1 添加一個(gè)簡(jiǎn)單的接口8.3.2 declare parents:機(jī)制8.4 帶有具體成員的接口8.4.1 重構(gòu)Persistence解決方案8.4.2 帶有具體成員的接El:機(jī)制8.4.3 帶有具體成員的接口的可能性8.5 聲明優(yōu)先級(jí)8.5.1 一個(gè)優(yōu)先級(jí)的例子8.5.2 聲明優(yōu)先級(jí):機(jī)制8.5.3 迂回問(wèn)題8.5.4 優(yōu)先級(jí)的效果8.6 其他靜態(tài)橫切8.6.1 靜態(tài)可確定的pointcut8.6.2 自定義編譯消息8.6.3 軟化異常8.7 結(jié)束語(yǔ)第9章 aspec9.1 aspect結(jié)構(gòu)9.2 aspect擴(kuò)展9.2.1 構(gòu)建抽象aspect9.2.2 從類和接口中繼承9.3 aspect實(shí)例化和聯(lián)合9.3.1 單獨(dú)的aspect9.3.2 基于每對(duì)象的aspect9.3.3 基于每控制流的aspect9.4 aspect支配和優(yōu)先級(jí)9.5 訪問(wèn)aspect對(duì)象9.6 aspect特權(quán)9.7 結(jié)束語(yǔ)第10章 AspecO的開(kāi)發(fā)應(yīng)用10.1 采用AspectJlO.1.1 采用AspectJ的緣由10.1.2 如何將AspectJ應(yīng)用到過(guò)程中10.1.3 前期開(kāi)發(fā)工作10.1.4 取消AspectJ10.2 開(kāi)發(fā)使用10.2.1 跟蹤10.2.2 條件檢查10.3 生產(chǎn)aspect10.3.1 日志和計(jì)時(shí)10.3.2 授權(quán)10.4 結(jié)束語(yǔ)第11章 使用AspectJ工具11.1 AspectJ編譯器選項(xiàng)11.2 aspect結(jié)構(gòu)瀏覽器11.3 使用AspectJ IDE擴(kuò)展11.3.1 JBuilder"11.3.2 Forte與NetBeans11.3.3 Emacs 11.3.4 Eclipse11.4 Ant 11.5 調(diào)試AspectJ11.5.1 aidb命令行指南11.5.2 aidb GUI指南11.6 使用ajdoc 11.7 結(jié)束語(yǔ)第12章 錯(cuò)誤處理和一般問(wèn)題12.1 編譯錯(cuò)誤12.1.1 錯(cuò)誤的編譯器12.1.2 無(wú)法找到aspectjtools.jar文件12.1.3 內(nèi)存溢出錯(cuò)誤12.1.4 錯(cuò)誤的JSDK12.1.5 沒(méi)有Java編譯器12.2 擴(kuò)展運(yùn)行時(shí)錯(cuò)誤處理12.2.1 堆棧溢出12.2.2 連接點(diǎn)不匹配12.3 異常拋出與捕獲12.4 使用TraceJoinPoints.java12.5 call指示符與execution指示符的區(qū)別12.5.1 this()和target()的使用12.5.2 within和withincode的效果12.6 結(jié)束語(yǔ)第13章 面向aspect例子:模式與重用13.1 可重用持久性13.1.1 PersistencePmtocol aspect13.1.2 通過(guò)subaspect應(yīng)用PersistenceProtocol13.2 方法緩存13.3 將模式標(biāo)記為aspect13.3.1 往aspect的API中添加無(wú)效特性13.3.2 Observer模式13.3.3在 AspecU中重用Observer13.4 面向方面的設(shè)計(jì)13.5 結(jié)束語(yǔ)第14章 AspeeO在現(xiàn)實(shí)中的應(yīng)用14.1 添加特性14.1.1 初始應(yīng)用程序14.1.2 待添加的特性14.1.3 當(dāng)前設(shè)計(jì)14.1.4 軟件的可繼承性14.1.5 編寫(xiě)aspect和源代碼14.1.6 測(cè)試14.1.7 文檔14.1.8 結(jié)論14.2 重構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)14.2.1 logging14.2.2 計(jì)時(shí)14.2.3 檢查點(diǎn)14.3 結(jié)束語(yǔ)附錄A AspectJ APIA.1 接口層次關(guān)系A(chǔ).2 類層次關(guān)系A(chǔ).3 AspectJ API說(shuō)明A.3.1 接口:J0inPointA.3.2 接口:J0inPoint.StaticPartA.3.3 接口:SignatureA.3.4 接口:CatchClauseSignatureA.3.5 接12I:MemberSignatureA.3.6 接口:CodeSignature A.3.7 接口:AdviceSignatureA.3.8 接口:InitializerSignatureA.3.9 接口:MethodSignatureA.3.10 接口:FieldSignatureA.3.11 接口:SourceLocationA.3.12 類:SoftExceptionA.3.13 類:NOAspectBoundException附錄B 有幫助的Web站點(diǎn)B.1 概述性站點(diǎn)B.2 人物B.3 自然教程B.4 論文B.5 其他范例B.6 軟件開(kāi)發(fā)和系統(tǒng)B.7 事件B.8大學(xué)附錄C 其他AoP語(yǔ)言綁定 C.1 AspectRC.1.1 說(shuō)明C.1.2 要求C.1.3 例子代碼C.2 AspectSC.2.1 說(shuō)明C.2.2 要求C.3 ApostleC.3.1 說(shuō)明C.3.2 要求C.4 AspectCC.4.1 說(shuō)明C.4.2 要求C.4.3 例子代碼C.5 AspectC++C.5.1 說(shuō)明C.5.2 要求C.5.3 例子代碼C.6 PythiusC.6.1 說(shuō)明C.6.2 要求C.6.3 例子代碼

作者簡(jiǎn)介

暫缺《精通AspectJ:面向方面的Java編程指南》作者簡(jiǎn)介

圖書(shū)目錄

第1章 AOP簡(jiǎn)介
1.1 00P把我們帶到了何處
1.2 AOP如何解決OOP問(wèn)題
1.2.1什么是AOP
1.2.2 AOP的開(kāi)發(fā)過(guò)程
1.3 結(jié)束語(yǔ)
第2章 實(shí)現(xiàn)AOP
2.1 AOP語(yǔ)言剖析
2.1.1 AOP語(yǔ)言規(guī)范
2.1.2 AOP語(yǔ)言的實(shí)現(xiàn)
2.2 AspectJ
2.3 結(jié)束語(yǔ)
第3章 AspectJ的獲取和安裝
3.1 AspectJ的要求
3.2 下載AspectJ
3.3 安裝AspectJP
3.3.1 設(shè)置PATH
3.3.2 設(shè)置CLASSPATH
3.4 安裝測(cè)試
3.5 結(jié)束語(yǔ)
第4章 實(shí)現(xiàn)AspmJ
4.1 我們的首個(gè)AspectJ程序
4.1.1 首先編寫(xiě)組件
4.1.2 aspect代碼
4.1.3 識(shí)別連接點(diǎn)
4.1.4 確定poincut
4.1.5 提供advice
4.1.6 增加一個(gè)aspect
4.1.7 編譯和執(zhí)行這個(gè)例子
4.2 添加一個(gè)新的關(guān)注點(diǎn)
4.2.1 返回文本的方法
4.2.2 把返回方法記入日志
4.2.3 一個(gè)新的首要關(guān)注點(diǎn)
4.3 暴露的上下文
4.4 類型間聲明
4.5 aspect粒度
4.6 AspectJ編譯器功能
4.6.1 指定源目錄
4.6.2 用JAR進(jìn)行織人
4.6.3 指定輸出到一個(gè)JAR文件
4.6.4 創(chuàng)建和使用aspect庫(kù)
4.6.5 阻止織人
4.6.6 使用漸進(jìn)式編譯
4.7 結(jié)束語(yǔ)
第5章 AspectJ連接點(diǎn)
5.1 動(dòng)態(tài)連接點(diǎn)模型
5.2 AspectJ連接點(diǎn)
5.3 連接點(diǎn)簽名
5.4 模式
5.4.1類型名稱模式
5.4.2 子類型模式
5.4.3 拋出模式
5.4.4 類型模式
5.5 反射
5.5.1 thisJoinPoint方法
5.5.2 thisJoinPointStaticPart方法
5.6 連接點(diǎn)示例
5.6.1 方法調(diào)用接收和執(zhí)行
5.6.2 構(gòu)造函數(shù)的調(diào)用接收/執(zhí)行以及對(duì)象初始化
5.6.3 字段獲?。O(shè)置
5.6.4 異常處理程序執(zhí)行
5.6.5 類初始化
5.7 結(jié)束語(yǔ)
第6章 AspectJ pointcut
6.1 三個(gè)類的介紹
6.2 建立oointeut
6.3 使用指示符
6.3.1 指示符快速參考
6.3.2 使用邏輯運(yùn)算符來(lái)創(chuàng)建指示符組合
6.4 組合pointcut
6.4.1 方法相關(guān)的pointeut
6.4.2 異常處理指示符
6.4.3 與域有關(guān)的指示符
6.4.4 基于狀態(tài)的指示符
6.4.5 基于控制流的指示符
6.4.6 類初始化指示符
6.4.7 基于程序文本的指示符
6.4.8 基于動(dòng)態(tài)屬性的指示符
6.4.9 adviceexecution
6.4.10 preinitialization
6.4.11 處理接口
6.4.12 匿名pointcut
6.4.13 在類中使用aspect
6.4.14 創(chuàng)建Factory對(duì)象
6.4.15 捕獲Java庫(kù)調(diào)用
6.4.16 訪問(wèn)final屬性
6.4.17 異常模式
6.5 結(jié)束語(yǔ)
第7章 advice
7.1 advice的定義
7.1.1 將信息添加到Stem.out.println()中
7.1.2 advice
7.1.3 形式定義.
7.2 所有類型advice中普遍存在的問(wèn)題
7.2.1 將上下文導(dǎo)人advice中
7.2.2 advice與異常
7.3 advice的類型:概述
7.4 before advice
7.5 after advice”
7.5.1 after advice(無(wú)限制型)
7.5.2 after拋出
7.5.3 after returning
7.6 around advice
7.6.1 對(duì)getProperty()調(diào)用進(jìn)行替換
7.6.2 proceed()
7.7 advice的優(yōu)先級(jí)
7.7.1 優(yōu)先級(jí)的重要性
7.7.2 優(yōu)先級(jí)的決定方法
7.7.3 運(yùn)行期執(zhí)行
7.7.4 偽優(yōu)先級(jí)
7.8 結(jié)束語(yǔ)
第8章 類型間聲明
8.1 類型間聲明的簡(jiǎn)單例子
8.1.1 向類中添加方法
8.1.2 引入和advice
8.2 類型間成員:機(jī)制
8.2.1 類型間成員的類型
8.2.2 類型間聲明的目標(biāo)
8.2.3 訪問(wèn)控制
8.2.4 成員間的沖突
8.3 declare parents
8.3.1 添加一個(gè)簡(jiǎn)單的接口
8.3.2 declare parents:機(jī)制
8.4 帶有具體成員的接口
8.4.1 重構(gòu)Persistence解決方案
8.4.2 帶有具體成員的接El:機(jī)制
8.4.3 帶有具體成員的接口的可能性
8.5 聲明優(yōu)先級(jí)
8.5.1 一個(gè)優(yōu)先級(jí)的例子
8.5.2 聲明優(yōu)先級(jí):機(jī)制
8.5.3 迂回問(wèn)題
8.5.4 優(yōu)先級(jí)的效果
8.6 其他靜態(tài)橫切
8.6.1 靜態(tài)可確定的pointcut
8.6.2 自定義編譯消息
8.6.3 軟化異常
8.7 結(jié)束語(yǔ)
第9章 aspec
9.1 aspect結(jié)構(gòu)
9.2 aspect擴(kuò)展
9.2.1 構(gòu)建抽象aspect
9.2.2 從類和接口中繼承
9.3 aspect實(shí)例化和聯(lián)合
9.3.1 單獨(dú)的aspect
9.3.2 基于每對(duì)象的aspect
9.3.3 基于每控制流的aspect
9.4 aspect支配和優(yōu)先級(jí)
9.5 訪問(wèn)aspect對(duì)象
9.6 aspect特權(quán)
9.7 結(jié)束語(yǔ)
第10章 AspecO的開(kāi)發(fā)應(yīng)用
10.1 采用AspectJ
lO.1.1 采用AspectJ的緣由
10.1.2 如何將AspectJ應(yīng)用到過(guò)程中
10.1.3 前期開(kāi)發(fā)工作
10.1.4 取消AspectJ
10.2 開(kāi)發(fā)使用
10.2.1 跟蹤
10.2.2 條件檢查
10.3 生產(chǎn)aspect
10.3.1 日志和計(jì)時(shí)
10.3.2 授權(quán)
10.4 結(jié)束語(yǔ)
第11章 使用AspectJ工具
11.1 AspectJ編譯器選項(xiàng)
11.2 aspect結(jié)構(gòu)瀏覽器
11.3 使用AspectJ IDE擴(kuò)展
11.3.1 JBuilder”
11.3.2 Forte與NetBeans
11.3.3 Emacs 
11.3.4 Eclipse
11.4 Ant 
11.5 調(diào)試AspectJ
11.5.1 aidb命令行指南
11.5.2 aidb GUI指南
11.6 使用ajdoc 
11.7 結(jié)束語(yǔ)
第12章 錯(cuò)誤處理和一般問(wèn)題
12.1 編譯錯(cuò)誤
12.1.1 錯(cuò)誤的編譯器
12.1.2 無(wú)法找到aspectjtools.jar文件
12.1.3 內(nèi)存溢出錯(cuò)誤
12.1.4 錯(cuò)誤的JSDK
12.1.5 沒(méi)有Java編譯器
12.2 擴(kuò)展運(yùn)行時(shí)錯(cuò)誤處理
12.2.1 堆棧溢出
12.2.2 連接點(diǎn)不匹配
12.3 異常拋出與捕獲
12.4 使用TraceJoinPoints.java
12.5 call指示符與execution指示符的區(qū)別
12.5.1 this()和target()的使用
12.5.2 within和withincode的效果
12.6 結(jié)束語(yǔ)
第13章 面向aspect例子:模式與重用
13.1 可重用持久性
13.1.1 PersistencePmtocol aspect
13.1.2 通過(guò)subaspect應(yīng)用PersistenceProtocol
13.2 方法緩存
13.3 將模式標(biāo)記為aspect
13.3.1 往aspect的API中添加無(wú)效特性
13.3.2 Observer模式
13.3.3在 AspecU中重用Observer
13.4 面向方面的設(shè)計(jì)
13.5 結(jié)束語(yǔ)
第14章 AspeeO在現(xiàn)實(shí)中的應(yīng)用
14.1 添加特性
14.1.1 初始應(yīng)用程序
14.1.2 待添加的特性
14.1.3 當(dāng)前設(shè)計(jì)
14.1.4 軟件的可繼承性
14.1.5 編寫(xiě)aspect和源代碼
14.1.6 測(cè)試
14.1.7 文檔
14.1.8 結(jié)論
14.2 重構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)
14.2.1 logging
14.2.2 計(jì)時(shí)
14.2.3 檢查點(diǎn)
14.3 結(jié)束語(yǔ)
附錄A AspectJ API
A.1 接口層次關(guān)系
A.2 類層次關(guān)系
A.3 AspectJ API說(shuō)明
A.3.1 接口:J0inPoint
A.3.2 接口:J0inPoint.StaticPart
A.3.3 接口:Signature
A.3.4 接口:CatchClauseSignature
A.3.5 接12I:MemberSignature
A.3.6 接口:CodeSignature 
A.3.7 接口:AdviceSignature
A.3.8 接口:InitializerSignature
A.3.9 接口:MethodSignature
A.3.10 接口:FieldSignature
A.3.11 接口:SourceLocation
A.3.12 類:SoftException
A.3.13 類:NOAspectBoundException
附錄B 有幫助的Web站點(diǎn)
B.1 概述性站點(diǎn)
B.2 人物
B.3 自然教程
B.4 論文
B.5 其他范例
B.6 軟件開(kāi)發(fā)和系統(tǒng)
B.7 事件
B.8大學(xué)
附錄C 其他AoP語(yǔ)言綁定 
C.1 AspectR
C.1.1 說(shuō)明
C.1.2 要求
C.1.3 例子代碼
C.2 AspectS
C.2.1 說(shuō)明
C.2.2 要求
C.3 Apostle
C.3.1 說(shuō)明
C.3.2 要求
C.4 AspectC
C.4.1 說(shuō)明
C.4.2 要求
C.4.3 例子代碼
C.5 AspectC++
C.5.1 說(shuō)明
C.5.2 要求
C.5.3 例子代碼
C.6 Pythius
C.6.1 說(shuō)明
C.6.2 要求
C.6.3 例子代碼

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)