基于Decorator AOP框架的一卡通管理系统
文章出处:http://www.nexussmartsolutions.com 作者: 人气: 发表时间:2011年09月16日
摘 要:传统MVC模式下横切关注点问题是一个关系系统性能优化的问题。论文分析了MVC模式的性能目标,建立了基于装饰器设计模式(Decorator Pattern)精简AOP框架的理论模型,实现了权限管理等横切关注点织入方案,并基于实际应用进行了系统架构模式优化,在系统功能与业务功能分离方面得到有效解决,AOP多重拦截方案得到有效建立。实验与实际运行系统表明,Decorator AOP框架在实际应用中降低了系统复杂性、提高了组件重用性并优化了业务流程,具有良好的实用性。
1 引言
在现代软件开发领域,基于OOP的MVC模式为应用系统的开发环境提供了一种分层的体系结构,即模型层、视图层和控制层,有效解决了系统复杂性与维护性的困难。但是由于面向对象技术在解决跨越多个模块的横切关注点问题上固有的缺陷,使得采用面向对象技术的开发模式,在处理横切关注点问题时具有较大的局限性。
随着科学技术的迅速发展及企业竞争越来越激烈,一卡通管理系统的应用也越来越广泛,用户对系统要求也越来越高,企业需要不断应付用户即时需求变化,虽然当前MVC模式为此提供了较好的解决方案,但是在日志管理、权限管理、异常处理等横切方面的可扩展性还不能满足用户需求,系统低耦合性还没有得到完全解决,文献 [1]提出的AOP编程技术正是为处理横切关注点而出现的。
但是文献[2-3]指出,AOP是一种新兴编程方法,目前还处在研究和发展阶段,它需要特殊的语言处理,AOP在Java环境下已经拥了较为成熟的框架如 AspectJ等,但是在 .Net Framework环境中还没公认的最佳解决方案。作者在实际项目开发过程中通过对日志处理、权限管理模块以及 AOP技术研究分析后,基于对 Struts[2]框架的思考,在.NET Framework环境下设计出一种能实现 MVC模式下基于装饰器设计模式(Decorator Pattern )的 AOP框架,设计了类拦截器模型实现多重拦截,相对于传统使用代理技术实现简单的 AOP框架,Decorator AOP框架在提高系统可扩展性方面具有突出的优势,如对日志记录功能扩充记录错误严重级别,又需要记录优先级功能,降低了系统复杂性及耦合度,提高了系统整体性能及执行高效性,并完全分离系统功能和业务功能,使基于面向对象技术的 MVC模式可以较好的解决横切关注点及其带来的众多问题。论文较全面地分析了这些特点与问题,并基于一卡通的具体实施过程对 Decorator AOP框架的有效性进行了验证。
2装饰器模式的AOP框架设计方案
2.1 .Net平台下 AOP拦截器的提出及分析
对于传统 MVC模式下的 Web应用系统,当用户点击一个链接需要权限验证时,通常在 Controller层需要接受用户请求,根据用户权限告诉 Model层执行相应的权限管理业务,最后 Viewer层根据用户权限显示相应功能界面给用户,可见 MVC模式下每一层都执行了权限管理,这样系统仍然存在高耦合度。同样,如果系统存在日志管理功能,使用传统 OOP方法在每一层仍然都需要进行日志处理,高耦合度仍然存在, MVC模式优点发挥得并不明显。因此,我们把类似于权限管理、日志记录等功能划分为系统横切关注点,利用 AOP思想处理这些横切关注点。作者将 JAVA 中 AspectJ[4,5]框架的成熟的思想应用到 .Net AOP 上,通过对 Struts的研究,设计了一种类拦截器模型。图 1的工作原理图说明了拦截过滤方法的过程和原理。
全文下载:http://down.yktworld.com/201107/201107062115293566.html