文件名称:面向方面CaesarJ的原理与源码分析
文件大小:762KB
文件格式:DOC
更新时间:2014-05-28 17:21:39
CaesarJ 面向对象技术
编程的历史是一个缓慢而稳定的前进过程,从直接管理底层机器的操作,到用语言结构来表达高层抽象。结构化方法的发明一直驱动着编程语言和设计方法的发展,结构化方法提供了附加的模块化特性。子程序对非结构化的机器指令的行为进行了组合。结构化编程表现了这些子程序的语义涵义,抽象的数据结构体现了数据和行为的统一,面向对象的方法则将此概括为相关数据和行为的多样性。 目前的编程主流领域是面向对象(OO)技术。通过使用对象,程序员可以把世界当作一些专门类的实例,这些类提供了方法,这些方法以命令式程序表示,用来描述类的所有对象的行为。 面向对象有很多的优点,特别是与先前的技术相比。对象提供了模块化特性。给对象发送消息这一概念使程序员能集中精力思考代码,而且有助于理解代码。对象中的继承机制提供了一种方式,既可描述多个类的相关行为,还能处理所描述行为的异常。 对象并非编程组织中的惟一的一个概念。编程开发的一个新阶段--面向方面的软件开发。CaesarJ就是基于面向方面的软件开发方法。 20世纪70年代以来,编程语言的研究集中在编码层次模型的机制上,即在更详细或较不详细的角度上看待系统的机制。如果我们假设真实世界的系统可以被组织成思想独立的概念层次,则这样做很有效。但是,对系统的不同观点可能会产生彼此非层次相关的模型。由于在传统语言中,不可能表示这样的横切模型,因此*将软件系统结构化成层次模型,通过随意选择一个横切模型作为主要的分解标准。这种主模型的随意选择导致了代码混乱和分散。 面向方面语言需要更好的支持横切模型,因此CaesarJ被提出。使用CaesarJ才有可能实现针对不同横切模型实现不同软件片断,再在以后通过特殊的称为联编的转换器将它们按需要组合在一起。CaesarJ的功能在于方面的重用和组件化,允许多态的使用方面。提出了多态的概念,作为子类多态的泛化来横切模型,还引入了虚类和族多态的概念。