当前位置:首页 > 工业技术
Eclipse AspectJ中文版  利用Eclipse和AspectJ进行面向方面程序设计
Eclipse AspectJ中文版  利用Eclipse和AspectJ进行面向方面程序设计

Eclipse AspectJ中文版 利用Eclipse和AspectJ进行面向方面程序设计PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:(美)科尔勒(Colyer,A.)等著;钱竹青,邹正武译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302139768
  • 页数:382 页
图书介绍:本书讲解面向方面编程语言的特性、编程方法等。
《Eclipse AspectJ中文版 利用Eclipse和AspectJ进行面向方面程序设计》目录

1.1 什么是Eclipse 3

1.2 安装Eclipse 3

第Ⅰ部分 Eclipse、AspectJ和AJDT简介第1章 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.1 连接点简介 29

2.5 声明保单通知 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.2 AspectJ示例 103

4.5.1 从AJDT和AspectJ获取基本的帮助 103

4.5.3 AspectJ备忘表 104

4.6 本章小结 105

第Ⅱ部分 AspectJ语言 109

第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.9 get和set切入点指示符 145

6.8.2 execution和this 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.8 本章小结 220

7.7.6 declare error/warning pointcut表达式上的限制 220

7.7.5 after throwing advice不处理异常 220

7.7.4 设置连接点没有返回值 220

7.7.3 构造函数的执行没有返回值 220

7.7.2 没有获取编译时常量的连接点 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.2 aspect链接的类型必须是可获得的 266

9.6 常见问题 266

9.6.1 忘记per-xxx aspect中advice执行处的隐式条件 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

第Ⅲ部分 综合运用 291

第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.3 特定应用aspect 295

11.3 实施aspect示例 295

11.2.2 特定领域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.2 作为AspectJ项目构建Simple Insurance 355

12.3.1 作为Java项目来构建Simple Insurance 355

12.3 Ant集成 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

相关图书
作者其它书籍
返回顶部