图书介绍
精通AspectJPDF|Epub|txt|kindle电子书版本网盘下载
![精通AspectJ](https://www.shukui.net/cover/55/33114982.jpg)
- Joseph D.Gradecki,Nicholas Lesiecki著;王欣轩,吴东升等译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302101612
- 出版时间:2005
- 标注页数:372页
- 文件大小:76MB
- 文件页数:392页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
精通AspectJPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录1
第1章 AOP简介1
1.1 OOP把我们带到了何处1
1.2 AOP如何解决OOP问题7
1.2.1 什么是AOP8
1.2.2 AOP的开发过程8
1.3 结束语9
第2章 实现AOP10
2.1 AOP语言剖析10
2.1.1 AOP语言规范11
2.1.2 AOP语言的实现13
2.2 AspectJ14
2.3 结束语15
第3章 Aspectj的获取和安装16
3.1 Aspectj的要求16
3.2 下载AspectJ16
3.3 安装AspectJP17
3.3.1 设置PATH19
3.3.2 设置CLASSPATH22
3.4 安装测试22
3.5 结束语24
第4章 实现AspectJ25
4.1 我们的首个AsPectj程序25
4.1.1 首先编写组件26
4.1.2 aspect代码27
4.1.3 识别连接点27
4.1.4 确定poincut28
4.1.5 提供advice28
4.1.6 增加一个aspect29
4.1.7 编译和执行这个例子29
4.2 添加一个新的关注点30
4.2.1 返回文本的方法30
4.2.2 把返回方法记入日志31
4.2.3 一个新的首要关注点34
4.3 暴露的上下文36
4.4 类型间声明37
4.5 aspect粒度39
4.6 AspectJ编译器功能40
4.6.1 指定源目录40
4.6.2 用JAR进行织入41
4.6.3 指定输出到一个JAR文件42
4.6.4 创建和使用aspect库43
4.6.5 阻止织入43
4.6.6 使用渐进式编译43
4.7 结束语44
第5章 AspectJ连接点45
5.1 动态连接点模型45
5.2 AspectJ连接点49
5.3 连接点签名51
5.4 模式52
5.4.1 类型名称模式53
5.4.2 子类型模式55
5.4.3 抛出模式55
5.4.4 类型模式56
5.5 反射57
5.5.1 thisJoinPoint方法57
5.5.2 thisJoinPointStaticPart方法59
5.6 连接点示例60
5.6.1 方法调用接收和执行60
5.6.2 构造函数的调用接收/执行以及对象初始化63
5.6.3 字段获取/设置64
5.6.4 异常处理程序执行66
5.6.5 类初始化66
5.7 结束语67
第6章 AspectJ pointcut68
6.1 三个类的介绍68
6.2 建立pointcut71
6.3.1 指示符快速参考73
6.3 使用指示符73
6.3.2 使用逻辑运算符来创建指示符组合74
6.4 组合po intcut74
6.4.1 方法相关的pointcut75
6.4.2 异常处理指示符79
6.4.3 与域有关的指示符81
6.4.4 基于状态的指示符84
6.4.5 基于控制流的指示符95
6.4.6 类初始化指示符103
6.4.7 基于程序文本的指示符104
6.4.8 基于动态属性的指示符107
6.4.9 adviceexecution108
6.4.10 preinitialization109
6.4.11 处理接口109
6.4.12 匿名pointcut110
6.4.14 创建Factory对象111
6.4.13 在类中使用aspect111
6.4.15 捕获Java库调用113
6.4.16 访问final属性114
6.4.17 异常模式115
6.5 结束语115
第7章 advice116
7.1 advice的定义116
7.1.1 将信息添加到Systerm.ut.println()中116
7.1.2 advice117
7.1.3 形式定义120
7.2 所有类型advice中普遍存在的问题121
7.2.1 将上下文导入advice中121
7.2.2 advice与异常128
7.3 advice的类型:概述130
7.4 before advice130
7.5 after advice136
7.5.1 after advice(无限制型)136
7.5.2 after抛出139
7.5.3 after retuming144
7.6 around advice146
7.6.1 对getProperty()调用进行替换147
7.6.2 proceed()150
7.7 advice的优先级159
7.7.1 优先级的重要性159
7.7.2 优先级的决定方法160
7.7.3 运行期执行162
7.7.4 伪优先级163
7.8 结束语164
第8章 类型间声明165
8.1 类型间声明的简单例子166
8.1.1 向类中添加方法166
8.1.2 引入和advice173
8.2 类型间成员:机制176
8.2.1 类型间成员的类型176
8.2.2 类型间声明的目标178
8.2.3 访问控制180
8.2.4 成员间的冲突181
8.3 declare parents184
8.3.1 添加一个简单的接口184
8.3.2 declare parents:机制185
8.4 带有具体成员的接口187
8.4.1 重构Persistence解决方案188
8.4.2 带有具体成员的接口:机制191
8.4.3 带有具体成员的接口的可能性195
8.5 声明优先级200
8.5.1 一个优先级的例子200
8.5.2 声明优先级:机制201
8.5.3 迂回问题204
8.5.4 优先级的效果204
8.6 其他静态横切204
8.6.2 自定义编译消息205
8.6.1 静态可确定的pointcut205
8.6.3 软化异常208
8.7 结束语213
第9章 aspect214
9.1 aspect结构214
9.2 aspect扩展218
9.2.1 构建抽象aspect218
9.2.2 从类和接口中继承223
9.3 aspect实例化和联合224
9.3.1 单独的aspect224
9.3.2 基于每对象的aspect225
9.3.3 基于每控制流的aspect227
9.4 aspect支配和优先级228
9.5 访问aspect对象229
9.6 aspect特权230
9.7 结束语232
10.1 采用AspectJ233
第10章 ASpectJ的开发应用233
10.1.1 采用AspectJ的缘由234
10.1.2 如何将AspectJ应用到过程中234
10.1.3 前期开发工作235
10.1.4 取消AspectJ235
10.2 开发使用235
10.2.1 跟踪235
10.2.2 条件检查237
10.3 生产aspect238
10.3.1 日志和计时238
10.3.2 授权240
10.4 结束语241
第11章 使用ASpectJ工具242
11.1 AspectJ编译器选项242
11.2 aspect结构浏览器243
11.3.1 JBuilder247
11.3 使用AspectJ IDE扩展247
11.3.2 Forte与NetBeans253
11.3.3 Emacs255
11.3.4 Eclipse257
11.4 Ant266
11.5 调试AspectJ267
11.5.1 ajdb命令行指南268
11.5.2 ajdb GUI指南270
11.6 使用ajdoc272
11.7 结束语274
第12章 错误处理和一般问题275
12.1 编译错误275
12.1.1 错误的编译器275
12.1.2 无法找到aspectjtoolsjar文件276
12.1.3 内存溢出错误277
12.1.4 错误的JSDK277
12.2 扩展运行时错误处理278
12.1.5 没有Java编译器278
12.2.1 堆栈溢出279
12.2.2 连接点不匹配279
12.3 异常抛出与捕获283
12.4 使用TraceJoinPointsjava285
12.5 call指示符与execution指示符的区别290
12.5.1 this()和target()的使用291
12.5.2 within和withincode的效果291
12.6 结束语292
第13章 面向aspect例子:模式与重用293
13.1 可重用持久性293
13.1.1 PersistenceProtocol aspect294
13.1.2 通过subaspect应用PersistenceProtocol296
13.2 方法缓存302
13.3 将模式标记为aspect308
13.3.1 往aspect的API中添加无效特性308
13.3.2 Observer模式309
13.3.3 在AspectJ中重用Observer310
13.4 面向方面的设计319
13.5 结束语320
第14章 ASpectJ在现实中的应用321
14.1 添加特性321
14.1.1 初始应用程序321
14.1.2 待添加的特性322
14.1.3 当前设计322
14.1.4 软件的可继承性324
14.1.5 编写aspect和源代码324
14.1.6 测试330
14.1.7 文档330
14.1.8 结论332
14.2 重构网络结构333
14.2.1 logging333
14.2.2 计时347
14.2.3 检查点348
14.3 结束语350
附录A AspectJ API351
A.1 接口层次关系351
A.2 类层次关系351
A.3 AspectJ API说明351
A.3.1 接口:JoinPoint352
A.3.2 接口:JoinPointStaticPart355
A.3.3 接口:Signature355
A.3.4 接口:CatchClauseSignature357
A.3.5 接口:MemberSignature358
A.3.6 接口:CodeSignature358
A.3.7 接口:AdviceSignature358
A.3.8 接口:InitializerSignature359
A.3.9 接口:MethodSignature359
A.3.10 接口:FieldSignature360
A.3.11 接口:SourceLocation360
A.3.12 类:SoftException361
A.3.13 类:NoAspectBoundException362
附录B 有帮助的Web站点363
B.1 概述性站点363
B.2 人物363
B.3 自然教程363
B.4 论文364
B.6 软件开发和系统365
B.7 事件365
B.5 其他范例365
B.8 大学366
附录C 其他AOP语言绑定367
C.1 AspectR367
C.1.1 说明367
C.1.2 要求367
C.1.3 例子代码367
C.3.1 说明368
C.3 Apostle368
C.2.1 说明368
C.2.2 要求368
C.2 AspectS368
C.3.2 要求369
C.4 AspectC369
C.4.1 说明369
C.4.2 要求369
C.4.3 例子代码369
C.5 AspectC++370
C.5.1 说明370
C.5.2 要求370
C.5.3 例子代码370
C.6 Pythius371
C.6.1 说明371
C.6.2 要求371
C.6.3 例子代码371