摘要概述面向方面编程(AOP)的基本概念及其实现技术.PDFVIP

摘要概述面向方面编程(AOP)的基本概念及其实现技术.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要概述面向方面编程(AOP)的基本概念及其实现技术AspectJ。用一个完整的、可运行 的实例,详细说明AOP方法厦其具体应用。 关键词 面向方面编程,AOP,OOP,Java,AspectJ 从拨动开关输入机器码,到面向对象编程(OOP).软件世界可扩展性,则可能使系统中存在过多无用功能(过度设计),造 成开发时间和成本的浪费。 的变迁,不啻沧海桑田。直u今可说是()0P的天下。为什么OOP 独领风骚,成了编程技术的主流?原因很简单,借助它能较好地 简化系统设计,可使成本和周期降低是显而易见的;但过度 实现软件模块化和可重用100P把软件需求映射成类的集台, 简化叉将使系统难以扩展(欠缺设计),导致维护更新的成本加 每个类分工明晰;若干类对象的协同工作,实现软件系统功能。 大。 然而,随着编程实践的日益丰富和对软件认识的不断深化,人们 过度设计和欠缺设计两者都不可取。适度(即:既不浪费, 发现.00P也非十夸十美。当00P尚处方兴未艾之时,一种新的卫好扩展)的设计才是唯一合理的抉择。然而,实际上很难真正 编程方法和技术,足在酝酿之中。这就是面向方面编程 做到适度。原因是,它以潜在需求为依据,而客观世界的变化太 复杂,没人能预知所有潜在需求。所谓适度设计只是一种理想 (A8pect—OdentedPmgr锄mi“g,AOP)。实践业已表明,和OOP相 比,用AOP实现的软件模块化程度更高,软件可重用性更好;它 目标,其实难以实现。软件开发者常为此陷^困境。 弥补了00P的不足。尤为突出的是,用AOP实现的软件可扩 AOP方法的出现,使软件开发者找到了摆脱上述困境的途 展,易更新。笔者预期,AOP方法和技术将会迅速发展,成为主 径。通过使用AOP,设计者只需集中精力实现当前需求,无需考 流编程技术。 虑如系统集成,或系统更新之类的潜在需求。系统建成后,新需 本文拟从应用角度,简明介绍AOP的基本概念及其实现技 求一旦出现.可在已有系统基础之上,插入实现新需求的子系统 术AspecⅡ,并用一个完整的、可运行的实例,详细说明AOP方或模块,增添新功能,且无须政动已有系统的设计或实现。这样 法及AspecU的具体应用。 一来,所谓软件的适度设计,就不再成为问题了。 2.横切关注点 一、面向方面编程 关注点(…cem)是软件设计中经常触及的重要概念。它被 自上世纪末,特别是jntemet普及以来,软件需求与日剧增,频繁使用,却从未有过明确定义;在不同的使用场合,其具体内 软件复杂度越来越高。软件设计者遇到前所未有的挑战。人们 涵也常不相同。一般而言,可以把关注点理解为满足用户需求、 经常要在超前设计和简化故计两者之间踌躇,而最终难得其 关系软件实现的事项。或者说,一个关注点就是一个软件需要 解。另外,尽管应用00P有人们熟知的优点,但并不能合理地解 解决的问题。软件开发最重要的步骤是鉴别关注点和分离关注 冼横切关注点问题。AOP方法为解决这些问题作出了重要贡 点,目的是减少处理的复杂性,使软件设计达到若干工程质量指 献;而AspectJ则是应用这一方法的最佳工具之一。 标,如系统适应性,可维护性,可扩展性和可重用性。鉴别关注 l软件的适度设汁 点是一个过程,一个贯串于软件生命周期各阶段的过程。比如, 由于软件需求的增加,软件复杂度的增高.必及软件编程方 在软件的设计阶段,主要通过分析用户需求来鉴别关注点。当 法和技术的局限,软件开发人员在从事系统设计时,往往会就如 然,不应把用户需求与关注点混为一谈。的确,用户需求隐含了 下两个目标权衡再三:第一,如何使系统具有可扩展性,以满足 关注

文档评论(0)

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

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

1亿VIP精品文档

相关文档