问答题
论面向方面的编程技术及其应用
针对应用开发所面临的规模不断扩大、复杂度不断提升的问题,面向方面的编程(Aspect Oriented Programming,AOP)技术提供了一种有效的程序开发方法。为了理解和完成一个复杂的程序,通常要把程序进行功能划分和封装。一般系统中的某些通用功能,如安全性、持续性、日志记录等等,其代码是分散的,较难实现模块化,不利于程序演变、维护和更新。AOP技术将逻辑上关系松散的代码封装到一个具有某种公共行为的可重用模块,并将其命名为方面(Aspect)。
请围绕“面向方面的编程技术及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与实施的应用AOP技术的软件项目以及你在其中所担任的主要工作。2.叙述在软件项目实践过程使用AOP技术开发的具体步骤。3.结合项目内容,论述该项目使用AOP技术的原因,开发过程中存在的问题和解决方法,以及使用AOP技术带来的实际应用效果。
【正确答案】无
【答案解析】AOP包括三个开发步骤,分别是方面分解、关注点实现和方面的重新组合。(1)方面分解。分解需求提取出横切关注点和核心关注点。把核心模块级关注点和系统级的横切关注点进行分离。例如,对于一个信用卡系统,可以分解出三个关注点:核心的信用卡处理、日志和验证。(2)关注点实现。各自独立地实现这些关注点,用OOP(面向对象的程序设计)实现核心关注点,用AOP实现横切关注点。例如,可以用OOP实现信用卡处理单元,而用AOP实现日志单元和验证单元。(3)方面的重新组合。方面集成器通过创建一个模块单元(方面)来制定重组的规则,重组过程也称为编织。
