论文部分内容阅读
传统的面向对象编程技术(OOP)较好的解决了单个业务逻辑的编程问题,但对于横切关注点问题以及如何响应需求的多变性,仍有其固有的局限性。面向方面编程技术(AOP)正是鉴于面向对象编程技术在处理横切关注点时的弊端而出现的。它以解决横断现象为出发点,用最小的耦合处理每个关注点,使横切关注点也是模块化的。虽然AOP技术作为一种新兴的实现横切关注点的技术,其优势已受到广泛关注,但是这项新技术在实际项目上的应用研究却很落后。而且由于横切关注点的AOP实现没有形成可以广泛套用的架构,使得开发人员应用AOP技术的难度和成本大幅提高,也拖延了开发进度。因此要想彻底解决横切关注点的模块化实现问题,并充分发挥AOP的优势,就必须设计出一种通用的、高性能的基于AOP技术的横切关注点实现架构,而这正是本文的写作目的。 本文首先认真研究了现有架构设计的思想基础——MVC模式,并对其作了改进,提出一种新的设计模式——MVCA模式。然后应用MVCA模式改进了“基于MVC的Web应用系统多层架构”,提出了一种通用的、高效的横切关注点实现架构——基于AOP的横切关注点实现架构(BACRF架构)。该架构从功能和数据两方面实现了核心关注点和横切关注点彻底解耦。并且该架构创造性地引入功能库层,不仅实现了核心功能模块和横切功能模块的系统级重用,而且把对通用模块的管理上升到了“库管理”的高度。最后,为了量化分析BACRF架构的性能优劣,本文设计了一套横切关注点实现评价指标体系(CRES),并应用该评价体系,以某港口管理信息系统作为数据源,量化分析了BACRF架构的性能。相比较于“基于MVC的Web应用系统多层架构”,BACRF架构在没有降低系统动态性能的前提下,大幅度提高了系统的静态性能,并且这一优势会随着系统规模的增大而提高。