声明
摘要
图表目录
第一章绪论
1.1研究背景
1.1.1角色模型
1.1.2面向方面程序设计
1.2研究现状
1.2.1基于角色模型的程序设计语言
1.2.2角色模型与面向方面程序设计的融合
1.2.3语言的运行时结构
1.2.4动态程序设计语言
1.3本文的主要工作
1.3.1研究内容
1.3.2本文安排
第二章基于对象代理模型的程序设计
2.1对象代理模型
2.1.1代理类和代理对象
2.1.2代理继承语义
2.1.3代理对象的创建
2.1.4更新迁移机制
2.2对象代理语言ODPL
2.2.1开发案例
2.3基于选择型代理类的程序设计
2.3.1基本类
2.3.2利用选择型代理类实现功能扩展
2.3.3利用选择型代理类实现多重分类
2.3.4利用选择型代理类实现类型转换
2.4基于联合型代理类的程序设计
2.5基于连接型代理类的程序设计
2.6基于分组型代理类的程序设计
2.6.1利用分组型代理类实现统一管理
2.6.2利用分组型代理类实现内部交互
2.6.3分组型代理类与其它类型代理类的主要差异
2.7源类与代理类的融合
2.8其它开发案例
2.8.1案例一:链表
2.8.2案例二:观察者模式
2.9本章小结
第三章对象代理语言ODPL的语法结构
3.1语法描述方式简介
3.2程序的基本结构
3.2.1源类与代理类
3.2.2源对象与代理对象
3.3类的结构
3.3.1基类的结构
3.3.2代理类的结构
3.3.3代理规范
3.3.4代理类的源类
3.4代理继承规范
3.4.1代理继承
3.4.2选择型代理类的代理继承规范
3.4.3联合型代理类的代理继承规范
3.4.4连接型代理类的代理继承规范
3.5 SwitchTo切换操作
3.5.1切换操作
3.5.2 SwitchTo切换操作的基本语法
3.5.3 SwitchTo切换操作中的参数映射
3.6 SwitchFrom切换操作
3.6.1 SwitchFrom切换操作的基本语法
3.6.2源方法调用
3.6.3 SwitchFrom切换操作中的参数映射
3.6.4 Before与After切换操作
3.6.5切换操作的优先级
3.7对象的创建与绑定
3.7.1基类对象的创建
3.7.2通过构造器显式创建代理对象
3.7.3通过创建条件自动创建代理对象
3.7.4通过引用迁移隐式创建代理对象
3.7.5代理类的激活
3.8分组型代理类
3.8.1分组型代理类的代理规范
3.8.2分组型代理对象的创建与绑定
3.8.3分组型代理对象上的属性访问与消息调用
3.9本章小结
第四章对象代理语言ODPL的操作语义
4.1 0DPL操作语义的基本定义
4.1.1对象代理运算
4.1.2类与对象的基本结构
4.2 ODPL中的基本操作
4.2.1上下文环境的更新规则
4.2.2基于代理继承关系的对象检索
4.2.3对象的创建与绑定
4.2.4类的部署与撤销
4.2.5检查代理对象的创建与销毁条件
4.3 0DPL中的属性访问与方法调用
4.3.1一些基本函数的定义
4.3.2基类对象上的属性访问与方法调用
4.3.3普通型代理对象上的属性访问与方法调用
4.3.4分组型代理对象上的属性访问与方法调用
4.4本章小结
第五章对象代理语言ODPL的实现机制
5.1关于不同功能实现机制的讨论
5.1.1代理对象向源对象的消息转发机制
5.1.2源对象向代理对象的消息转发机制
5.1.3代理对象的自动创建与销毁机制
5.2基于前置对象的实现机制
5.2.1为对象设置前置对象
5.2.2利用前置对象动态关联代理对象
5.3利用前置对象实现复杂代理继承体系
5.3.1代理链的实现
5.3.2代理树的实现
5.3.3多源代理对象与源对象的绑定
5.4对Self指针的处理
5.5源类与代理类融合功能的实现
5.5.1融合操作的基本执行流程
5.5.2融合操作后的代理对象关联
5.6 ODPL原型系统
5.6.1 ODPL原型系统的基本架构
5.6.2案例分析及实现要点说明
5.7本章小结
第六章使用ODPL支持面向环境程序设计
6.1面向环境程序设计
6.2开发案例:利用上下文环境改变对象行为
6.3基于前置对象实现面向环境程序设计
6.3.1基于前置对象的消息传递
6.3.2上下文环境的退出
6.3.3静态与动态上下文环境
6.4本章小结
第七章总结与展望
7.1本文总结
7.2未来工作
参考文献
攻读博士学位期间发表的论文及科研成果目录
致谢
武汉大学;