论文部分内容阅读
面向对象的技术的出现可以追溯到上世纪六十年代,面向对象的方法更关注于数据而非过程,而在面向对象方法前的软件开发方法更关注于过程,以函数的角度来提供代码的复用。到了上世纪90年代,面向对象方法已经成为软件开发领域的主流方法,面向对象的思想已经为软件开发人员们所接受,并且在诸如软件工程、程序设计语言等领域得到了广泛的应用和深入的研究。然而随着人们实践经验的不断积累,面向对象方法的不足逐渐显露出来。使用面向对象技术可以很好的解决面向过程的不足,然而其由于自身的特点,无法很好的解决在开发中不断出现的核心关注点和横切关注点纠结在一起的问题。 为了解决这个问题,开发人员在实践过程中不断总结,面向方面的思想于1997年被提出来弥补OOP的弱点。面向方面的方法从软件开发的初始阶段就着眼于横切关注点与核心关注点分离这个问题。AOP思想产生后,面向方面软件开发方法和面向方面技术也得到了迅速的发展。AOP开发方法与技术不是为了去取代OOP的开发方法和技术,而是为了弥补其不足之处。 经过10多年的发展,面向方面思想已深入人心,在不同平台下各种AOP工具也不断被开发出来支持面向方面技术。在现有的java阵营中和.NET阵营中,AOP工具得到了深入的研究和很好的实现,开源领域的AOP工具也发展迅猛。面向方面的思想和开发方法也得到了越来越广泛的使用。 本文首先通过介绍面向对象的优点和缺点来引出面向方面方法,接着对目前在生产实践中已得到广泛使用的AOP工具进行了介绍,并深入的阐述了面向方面开发过程和基于用例的建模方法。然后本文详细的分析了微软.NET平台下AOP技术的实现方法,并根据.NET远程方法调原理给出了两种.NET平台下的轻量级框架实现,在此基础上本文深入细致的对.NET平台下的现有技术进行了剖析和比较。最后以一个实际的生产管理系统的一个模块为例,说明了在实践中面向方面开发方法的使用以及其带来的效益。