AOP及其Java实现机制

来源:不详 责任编辑:栏目编辑 发表时间:2013-07-02 01:33 点击:
关键字:AOP Java

1引言

传统的编程技术,采用分解的方式将一个软件系统划分为相对较小的、易于分析、理解的模块,如果这些模块仍难以分析、理解,则迭代的将其分解为更小的模块,直到这些模块可以容易的分析、理解、设计与编码。通过对这些模块进行分析,设计,然后使用相应的编程语言实现这些模块,再以编程语言所定义的方式将这些模块组装起来,形成最终的软件系统。例如,面向过程编程中,将系统分解为完成单一功能的函数,并通过函数之间的调用完成复杂的功能,最终形成这个系统。面向对象编程中,通过分析,抽象出一系列具有一定属性与行为的对象,并通过这些对象之间的协作完成系统的功能。

传统的编程技术倾向于按照功能或行为对软件系统进行分割,这个分割的结果是实现某一功能的模块,如函数、过程、类等。但在编程实践中,人们认识到,软件系统中有些行为无法封装在单个的模块中,例如日志记录、事物处理、对上下文敏感的错误处理、性能优化等等。通常这些功能与行为不实现系统的业务功能,但辅助这些功能的实现,并散布在实现系统功能的诸多模块中,从而造成代码的纠结,这使得实现系统功能的模块的代码难于阅读、理解、调试、维护和扩展等,并使得纠结的代码难于复用。如果我们将实现系统业务功能的模块看作系统的纵向分解单元,那么上述分散在功能模块中的功能与行为就形成了一种横向的方面(Aspect),方面与模块形成了横切(Crosscutting),从而造成传统的编程技术无法将方面模块化,造成两种代码纠结(Tangling)在一起。

因此,我们需要一种新的编程思想,对系统中的横切方面进行处理,解决由此造成的代码纠结问题,并使方面可模块化,促进功能模块与方面彼此的复用。

2AOP简介

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Java编程语言的八大优点
    • JVM对象生命周期详细介绍
    • Java平台上的CRM系统
    • Java 算数测试小程序
    • Command(命令模式)
    • Java环境 使用Resin在NT环境下配置JSP环境
    • Java 一个简单的画图程序
    • Java 日历的小程序
    • Java 统计代码的小工具
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1