AsepectJ在AOP中应用.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AsepectJ在AOP中的应用 王有华 001 北京信息工程学院Java实验室(101) 摘要:本文介绍了AspectJ,面向方面编程的一些基本概念,以及AspecO在 AOP编程的应用 关键词:AOP,OOP,Concern,Crosscutting,JoinPoint,Pointcut,Introduction, Advice 引言 在软件技术日新月异的今天,技术人员时常感到软件的危机,而且常 被巨头们提出的新概念弄得一头雾水。如今,厂商,社区,媒体上时常出 现宣传如SOA,MDA,SOA,插件体系结构,网格计算等各种名词,更加使我 们感到知识更新的迅猛之势。本文就针对AOP这一方面进行简单的阐述及 应用,使大家对这方面的知识有所了解。 一、面向方面编程(AOP) 1、什么是横切关注点? 一个关注点就是一个特定的目的、一块我们感兴趣的的区域。从技术 的角度来说,一个典型的软件系统包含一些核心的关注点和系统级的关注 点。举个例子来说,一个信用卡处理系统的核心关注点是借贷/存入处理, 而系统级的关注点则是日志。事务完整性、授权、安全性及性能问题等许 多关注点一我们叫它横切关注点一会在多个模块中出现。使用现有的编程 方法,横切关注点会横越多个模块,结果是使系统难以设计、理解、实现 和演进。 横切关注点的典型例子就是logging,logging通常被用在分布式应用程 序中跟踪方法调用辅助测试。如果每一个方法的开始和结束都加入 Concern。 logging,则会造成拥有一个方法的类都具有相同的Crosscutting needAOP? 2.Why Fundamental tomaintaina ofconcerns. designprinciple:Designseparation That or distinctconcernsintodifferent thateach is,modularize separate areas,so 50 hasacohesive purpOSe. 一CraigLarman(国际著名过程大师、国际著名00大师) 随着时间的推移,过去我们提到的很多软件概念已经逐渐成熟,象面 向对象编程(OOP),现在已经成为主流的编程思想,现实世界问题被解析 成由数据和抽象行为组成的各种对象,但OOP也不是没有缺陷的,多数软 件系统都包含几个跨越多个模块的关注点。用面向对象技术实现这些关注 点会使系统难以实现,难以理解,并且不利于软件的演进。新的AOP(面 向角度的编程方法)利用模块化来分离软件中横切多模块的关注点。使用 AOP,你可以建立容易设计,易于理解和维护的系统。 3.WhatisAOP? AOP(Aspect-Oriented Programming)是施乐公司帕罗阿尔托研究中心 (XeroxPARA)在上世纪90年代发明的一种编程范式。AOP是一种超越 OOP的编程模型,它允许程序员将横切关注点封装成清晰的可重用模块, 然后通过组合这些模块和功能性组件获得系统的实现。实际上,AOP只是 OOP的一种补充或某种改进,它转换了编程的范式和视角,关注了一直以 来被OOP忽略或者说未能解决好的角落,使开发人员可以很好地将本不该 纠缠在一起的责任分离出来。它在OOP中抽象出“方面”的概念,目的就 是为了打破对象的封装,以“方面”的方式对原有的模块进行重组,抽取 那些与业务无关却为整个系统所通用的功能,最终封装在一起。 有的人认为,AOP是一种编程思想,我认为它还达不到“思想”的高 度,因为它只是一种对OOP的补充,不可能达到OOP的高度,也不可能 成为一种主流编程模式,只是一种方法而已。当然我们得承认它在编程中

文档评论(0)

ygeorcgdw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档