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

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

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

定 價:¥48.00

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

ISBN: 9787302101611 出版時間: 2005-01-01 包裝: 平裝
開本: 23cm 頁數(shù): 372 字數(shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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