书籍详情

Eclipse AspectJ中文版:利用Eclipse和AspectJ进行面向方面程序

Eclipse AspectJ中文版:利用Eclipse和AspectJ进行面向方面程序

作者:(美)科尔勒、等

出版社:清华大学

出版时间:2006-12-01

ISBN:9787302139768

定价:¥49.80

购买这本书可以去
内容简介
  使用AspectJ,Java开发者就能利用已熟识的语言,在当前最流行的Ecilpse开发环境中尽情体会面向方面编程(AOP)带来的优势。AOP能够提高程序的模块性,使得编写的代码更接近于设计目标。它能减少实现普通特性和功能所花费的时间,提高质量,也能在系统和服务中整合简单的Java对象以及创建更简单且重用性更高的组件,并且提供更多的附加功能。本书是学习AspectJ语言的权威指南,涵盖了使用AspectJ和Eclimpse进行AOP开发的方方面面,包括从创建新项目到扩展和文档化已完全型的应用程序的所有内容,并提供了完整的API参考以及如何在项目中采用AspectJ的现实性指导。从而帮助您轻松掌握AOP的重要原理和技术,以应对最棘手的软件质量、效率和维护方面的挑战。·安装产配置Eclipse和AspectJ开发工具(AJDT);·AOP如何对从错误检测到性能的每个方面进行模块化和优化;·创建新的AspectJ应用程序以及将AOP应用现有系统;·构建、调试和文档化AspectJ应用程序;·理解关键的AOP概念,如连接点、切入点、advice和类型间声明;·掌握高级技术:Aspect库、与已编译好的.class文件进行链接、可视化、面向方面的设计等。
作者简介
  本书提供作译者介绍Adrian ColyerIBM的高级技术员,AspectJ Eclipse项目的主管,AJDT的创始人之一。现负责IBM的一个项目组,开发并应用面向方面的技术。.Andy ClementIBM Hursley实验室的高级软件开发人员,AspectJ项目的负责人,AJDT项目的创始人之一。致力于在J2EE中间件中使用面向方面的编程技术。...
目录
第Ⅰ部分  Eclipse、AspectJ和AJDT简介
第1章  Eclipse入门    3
1.1  什么是Eclipse    3
1.2  安装Eclipse    3
1.3  Eclipse基础    4
1.4  安装AJDT    10
1.5  本书中的示例    15
1.6  本章小结    16
第2章  AJDT起步    17
2.1  Simple Insurance应用程序17
2.2  跟踪保单的更改    20
2.3  创建AspectJ项目    22
2.3.1  转换既有的Java项目    22
2.3.2  配置AspectJ开发
   的工作环境    25
2.3.3  创建新的AspectJ项目    26
2.4  创建PolicyChange
Notification aspect    27
2.5  声明保单通知    29
2.5.1  连接点简介    29
2.5.2  编写切入点    30
2.5.3  使用警告声明    32
2.6  实现保单通知    35
2.6.1  “通知”简介    36
2.6.2  调用通知方法    37
2.7  AJDT中的advice    39
2.7.1  大纲视图    40
2.7.2  编辑器    41
2.7.3  文档与可视化    42
2.8  评估具体的实现    43
2.8.1  更改切入点声明    45
2.8.2  删除旧有的对notify
的调用    47
2.8.3  比较模块化和非模块化
的实现    47
2.9  完善程序设计    48
2.10  本章小结    50
第3章  扩展应用程序    51
3.1  迄今的经历    51
3.2  基于序列化的持久性    53
3.2.1  创建SerializationBased
Persistence aspect    53
3.2.2  使领域对象序列化    54
3.2.3  管理DAO    55
3.2.4  DAO的依赖注入    58
3.2.5  完成aspect    63
3.2.6  评估具体实现    64
3.3  使用Hibernating    66
3.3.1  准备使用Hibernate    66
3.3.2  使用Hibernate实现
持久性    66
3.3.3  创建HibernateManager
aspect    69
3.3.4  DAO的依赖注入    70
3.3.5  满足Hibernate的要求    70
3.3.6  初始化Hibernate配置    75
3.3.7  对异常进行映射    77
3.3.8  实现数据访问对象    80
3.3.9  评估实现    85
3.4  管理构建配置    87
3.5  本章小结    89
第4章  深入AJDT    90
4.1  编译一个AspectJ项目    90
4.1.1  控制项目构建    90
4.1.2  设置编译器选项    93
4.2  调试    94
4.3  编辑器模板和大纲视图
工具栏    99
4.3.1  编辑器模板    99
4.3.2  大纲视图工具栏    100
4.4  生成文档(ajdoc)    101
4.5  AspectJ帮助、示例和
备忘表    102
4.5.1  从AJDT和AspectJ获取
基本的帮助    103
4.5.2  AspectJ示例    103
4.5.3  AspectJ备忘表    104
4.6  本章小结    105
第Ⅱ部分  AspectJ语言
第5章  AspectJ概述    109
5.1  aspect概述    109
5.2  连接点与切入点    112
5.2.1  连接点    112
5.2.2  切入点    113
5.3  advice    114
5.4  类型间声明    116
5.5  AspectJ语言设计的关键
特性    118
5.6  本章小结    119
第6章  直面point    120
6.1  计算器程序    120
6.2  切入点指示符介绍    121
6.3  方法调用切入点指示符    122
6.3.1  切入点位于何处    124
6.3.2  重用切入点    125
6.4  复合切入点    126
6.5  模式与签名    128
6.5.1  类型模式    128
6.5.2  方法签名    130
6.5.3  小结    135
6.6  方法执行切入点指示符    135
6.7  target切入点指示符    138
6.7.1  调用(call)和目标
(target)    138
6.7.2  静态方法    142
6.7.3  执行(execution)与目标
(target)    142
6.8  this切入点指示符    143
6.8.1  call和this    144
6.8.2  execution和this    145
6.9  get和set切入点指示符    145
6.9.1  修饰符模式    146
6.9.2  域类型模式    146
6.9.3  类型声明模式    146
6.9.4  域名模式    147
6.9.5  签名示例    147
6.9.6  this和target与get和set
组合使用    147
6.9.7  数组访问    147
6.9.8  建立带get和set
的pointcut    149
6.10  使用args切入点指示符捕获
上下文    150
6.10.1  匹配参数类型    151
6.10.2  提取参数值    152
6.10.3  初始类型推广    155
6.11  使用this和args提取值    155
6.12  handler切入点指示符    157
6.13  initialization切入点
指示符    160
6.13.1  staticinitialization切入
点指示符    161
6.13.2  preinitialization和
initialization切入点
指示符    163
6.14  静态定界切入点指示符:
within、withincode    166
6.15  动态定界切入点指示符:
     cflow、cflowbelow    168
6.16  adviceexecution切入点
指示符    174
6.17  if切入点指示符    176
6.18  如何编写一个好
的切入点    180
6.19  常见问题    181
6.19.1  不能匹配对super/this
的调用    181
6.19.2  不能匹配映射做出
的调用    182
6.19.3  空pointcut定义    183
6.20  本章小结    184
第7章  如何使用advice    185
7.1  advice的不同类型    185
7.1.1  before advice    186
7.1.2  after advice    187
7.1.3  around advice    196
7.2  advice参数和切入点    201
7.3  编写advice体中的逻辑    202
7.3.1  advice运行的上下文    202
7.3.2  advice中的异常    206
7.4  advice排序    207
7.4.1  单个aspect的优先级    208
7.4.2  多个aspect之间的优先
关系    215
7.5  弱化异常    216
7.6  declare warning和
declare error    218
7.7  常见问题    219
7.7.1  在处理器连接点处只能有
before advice    219
7.7.2  没有获取编译时常量
的连接点    220
7.7.3  构造函数的执行没有
返回值    220
7.7.4  设置连接点没有返回值    220
7.7.5  after throwing advice不处理
异常    220
7.7.6  declare error / warning
pointcut表达式上
的限制    220
7.8  本章小结    220
第8章  类型间声明    222
8.1  域、方法和构造函数    222
8.1.1  类型间域声明    223
8.1.2  类型间方法声明    226
8.1.3  类型间构造函数声明    229
8.2  范围和可见度    230
8.2.1  类型间声明以及来自于
类型间声明的可见度    230
8.2.2  类型间声明和继承    230
8.2.3  声明冲突的处理    231
8.3  类型间声明和接口    232
8.3.1  使用接口作为类型间声明
   目标    232
8.3.2  和接口一起使用declare
parents    233
8.4  继承类    242
8.5  与类型间声明一起使用切入
点和advice    243
8.6  本章小结    244
第9章  aspect    245
9.1  aspect定义和初始化    245
9.2  aspect实例化    246
9.2.1  singleton aspect    249
9.2.2  per-this aspect    249
9.2.3  per-target aspect    253
9.2.4  per-Cflow和
per-Cflowbelow aspect    257
9.2.5  实例化模型概述    259
9.3  aspect继承    260
9.3.1  继承aspect    260
9.3.2  继承类    263
9.3.3  实现接口    263
9.4  内部aspect    264
9.5  aspect优先级    265
9.6  常见问题    266
9.6.1  忘记per-xxx aspect中
advice执行处的隐式
条件    266
9.6.2  aspect链接的类型必须是
可获得的    266
9.7  本章小结    267
第10章  使用AspectJ API    268
10.1  包org.aspectj.lang    269
10.1.1  org.aspectj.lang.Join
Point    269
10.1.2  org.aspectj.lang.JoinPoint.
StaticPart    273
10.1.3  org.aspectj.lang.
Signature    274
10.1.4  org.aspectj.lang.
NoAspectBound
Exception    277
10.1.5  org.aspectj.lang.
SoftException    278
10.2  包org.aspectj.lang.reflect    279
10.2.1  org.aspecj.lang.reflect.
SourceLocation    279
10.2.2  org.aspectj.lang.reflect.
MemberSignature    281
10.2.3  org.aspectj.lang.reflect.
FieldSignature    281
10.2.4  org.aspectj.lang.reflect.
CodeSignature    282
10.2.5  org.aspectj.lang.reflect.
MethodSignature    284
10.2.6  org.aspectj.lang.reflect.
AdviceSignature    285
10.2.7  ConstructorSignature和
InitializerSignature    286
10.2.8  org.aspectj.lang.reflect.
CatchClauseSignature    286
10.3  本章小结    288
第Ⅲ部分  综合运用
第11章  采用AspectJ    291
11.1  采用过程    291
11.1.1  实施aspect    292
11.1.2  基础结构/辅助aspect    292
11.1.3  业务/核心aspect    293
11.1.4  面向aspect的设计和
结构    294
11.2  aspect的不同类型    294
11.2.1  一般目的aspect    294
11.2.2  特定领域aspect    295
11.2.3  特定应用aspect    295
11.3  实施aspect示例    295
11.3.1  使用System.out    298
11.3.2  保持组件模块性    299
11.4  基础结构aspect示例    305
11.4.1  实现追踪工具    305
11.4.2  管理异常    315
11.4.3  管理    321
11.5  核心aspect示例    328
11.5.1  调用不可信代码    328
11.5.2  用Spring配置aspect    331
11.6  评价Simple Insurance
应用程序    338
11.7  本章小结    339
第12章  高级AJDT    340
12.1  Aspect库    340
12.2  将aspect与编译好的.class
文件链接    350
12.3  Ant集成    355
12.3.1  作为Java项目来构建
Simple Insurance    355
12.3.2  作为AspectJ项目构建
Simple Insurance    355
12.3.3  在AJDT中用Ant构建时
的限制    357
12.4  aspect可视化    358
12.4.1  Visualiser菜单    358
12.4.2  Visualiser视图    359
12.5  本章小结    361
第13章  面向aspect设计    362
13.1  发现aspect    362
13.1.1  设计中的aspect    362
13.1.2  代码中的aspect    363
13.2  如何构造一个好的
     aspect?    364
13.3  结束语    364
附录A  命令行AspectJ    365
A.1  安装AspectJ    365
A.2  使用编译器    366
A.3  用Ant构建    367
附录B  AspectJ语言快速参考    369
B.1  AspectJ声明    369
B.2  切入点    370
B.3  通配符    372
B.4  advice    372
B.5  类型间声明    373
附录C  用户指南    376
C.1  邮箱列表和FAQ    376
C.2  提出bug和改进请求    378
C.3  为AspectJ和AJDT
的开发出力    378
附录D  AJDT图标参考    380
D.1  对象    380
D.2  对象装饰符    381
D.3  标记    382
D.4  构建配置    382
  
  
  
  
  
  
  




猜您喜欢

读书导航