基于AOP与MVC模式的Web应用架构的设计与实现.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于AOP与MVC模式的Web应用架构的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于AOP与MVC模式的Web应用架构的设计与实现.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第4 1 卷2 0 0 5 年 1 0 月 南京大学学报(自 然科学)J O UR N A L O F N A N J I N G U NI VE R S I TY (N A T U R A L S C I E NC E S)Vo l.4 1Oc t.,2 0 0 5基于 A O P与 MV C模式的We b应用 架构的设计与实现 赵成勇,周南,张晓泉 (中国 农业大学网络中心,北京,1 0 0 0 8 3)摘 要:M V C 模式在WE B 应用架构中得到广泛的应用,但其没有涉及架构业务层的可扩展性问题.将面向方面编程的思想引进WE B 应用架构的设计,可以增强架构业务层的可扩展性和稳定性
2、.给出使用MVC模式并结合A OP思想来构建的一种WE B应用架构,并使用 3个优秀的开源项 目(S T R UT S,A S P E C TWE R K Z,HI B E R N A T E)对该架构予以实现关键词:MVC模式,A OP,WE B应用架构中圈分类号:TP 3 1 1D e s i gn a n d i mp l e me n t a t i o n o f We b A p p l i c a t i o n Ar c h i t e c t u r e b a s e d o n M VC P a t t e r n a n d AOP Z h a o C h e n g-
3、Y a n g,Z h o u N a n,Z k a n g X i a o-Q u a n (N e two r k C e n t e r,C h in a A g r ic u lture Un i v e r s i t y,B e ij in g,1 0 0 0 8 3,C h i n a)A b s t r a c t:MV C P a tt e rn is u s e d in We b Ap p l i ca ti o n 八rc h i t ectu re w i d e l y,b u t i t d o es n o t r e fe r t o t h e e x t
4、 e n s ib i li t y o f t h ea r c h i t e c t u r e s b u s i n e s s l a y e r.I n t r o d u c in g A O P in t o th e d e s i g n o f We b A p p lic a t i o n A rc h i t e c tu re ca n i m p ro v e t h ee x t e n s i b il it y a n d s t a b il it y o f t h e b u s in e s s la y e r.T h is p a p e r
5、 in t rod u c e s a We b A p p li c a t io n A r c h i t e c t u r e b u il t o n MV CP a t t e r n a n d A OP,a n d t h e n g i v es a n e x a mp le imp le me n t a t i o n wit h t h re e f in e o p e n s t u m e p ro j e c t s.K e yw o r d s:MVC P a t t e r n,A O P,w e b a p p li c a t io n a rc h
6、 i te c t u re 随着 I n t e r n e t 发展的日渐成熟,WE B应用得到越来越多人的认可,WE B应用软件的开发从架构层次上可以分为表示层,业务层和持久层一 个灵活的 WE B应用架构应该能够降低这三层之间的藕合,并保证每个层次内部具有良 好的可扩展性.本文提出一种We l 应用架构,一方面使 用 MV C(M o d e l 一V ie w-C o n t ro ll e r,模型一 视图一控制器)模式从架构层次上保证各层之间的 低辆合,另 一方面结合应用A O P(A s p e c t 一 O r i e n t e d P ro g r a m m in g
7、,面向方面编程)思想,保证架构 业务层具有良 好的可扩展性,从而使得采用这种架构的 软件系统具有较强的可扩展性、稳定性和可维护性.1 MV C模式 MVC最初是美国施乐公司在上世纪 8 0年代为编程语言S m a l l t a l k 2 8 0 发明的一种软件设计模式.在该模型中 应用程序被分为3 个组成部分:模型(M o d e l),视图(V i e w),控制器(C o n t r o l l e r).基金项目:国家科技攻关计 划重次项目(2 0 0 3 B A 8 0 8 A 1 4)第 4 1卷赵成勇等:基于 A O P与MV C模式的We b 应用架构的设计与实现7 1 9
8、模型包含了 应用程序功能的核心,提供使用应用程序功能的方法和途径,集中体现了 应用程序的状态.它通过控制器来取得视图中的对象或者更新视图;视图 用来实现模型的外观,代表流向用户的数据.当模型发生改变时,它能够得到通知,并且通过查询来显示这种改变;控制器将模型和视图联系在一起,定义用户界面对用户输人的响应方式,负责把用户的动作转成针对模型的操作,模型通过更新视图的数据来反映数据的变化,三者之间的关系如图1 所示 1 .方法调用-州 卜一 一 一一 事件 一 一 令圈1 M,V,C三者之间关系 可以看出,MV C模式的目的是减少数据表达、数据描述和应用操作的藕合度,增加代码的重用率.将 MVC模式
9、引人WE B应用程序的架构设计,可以从架构层次上实现W E B应用开发各层之间的低藕合.2 面向方面编程(A O P)A O P 于 1 9 9 0 年在X e r o x P A R C 项目中 发明 2 1,用于分离软件系统中的横切关注点(C r o s s c u t t i n g C o n c e r n).横切关注点就是横切了多个对象体系的问 题,它描述的 不是一个业务 而 是 一 个问 题 3 .例 如日 志记 录、权限管 理等,它们分散在多个功能模块,在实现时无法用对象化方法或结构化方法抽象成一个过程或对象来加以 封装 A O P引人“方面(a s p e c t s)”用来
10、捕捉横切关注点,并将其模块化,然后通过“织人(We a v i n g)”过程把功能模块和方面模块合成到一起组 装成最终的系统,达到分离横切关注点的目的.织人 是实现A O P 的 一个重 要机制,织人的实现机制基本上可以分为两类:静态织人与动态织人.静态织人是指 在程序编译时就在功能模块代码中的适当 位置插人方面 模块代码,从而形成混合编码;静态织人时,方面模块代码在程序运行前已 被内 联至 功能 模块 代码,因此代码可以 被优化,从而使织 人产生的开 销最小化动态织人是指在程序运行时根据 上下文来决定调用方面模块代码,包括它们的先后顺序、增加或删除一个方面模块等等 现 在实现A O P 的
11、主要 项目,采 用 静 态 织人 方 式 的 有:A s p e c t j 0 i(创建 于X e r o x P A R C 项目,发展时 间 长,比 较 成熟,但其语法过于复杂并需要专门 的J a v a 编 译器);采用动态织人方式的有:J b o s s,N a n n i n g,印r i n g A o p,A s p e c t w e r k z 等.A O P用来对系统中的横切关注点进行处理,使横切关注点可模块化,促进功能模块与方面模块彼此的复用 WE B应用开发的业务层集中 处理系统功能及业务逻辑,是整个We b 应用系统的核心,而使用面向对象方法或结构化方法来实现时都存
12、在方面模块代码和 功能模块代码纠结的问题,因此运用 A O P思想实现 We b应用业务层将能增强业务层的可扩展性.下面以日志记录、权限管理功能为例来说明在 WE B架构业务层设计中引人 A O P思想后带来的变化.如图2 A所示,在传统的编程方式实现WE B 架构的 业务层时,日 志记录、权限 管理功能是分散在若干个业务功能模块中的.是一种紧 祸合关系;如图2 B 所示,使用 A O P实现WE B 架构的 业务层时,日 志记录、权限管理等横向的方面功能独立于业务功能模块,形成松散藕合关系.对于业务功能 模块来说可以实现动态地添加和取消这些横向的方面功能,从而提高了 业务功能模块的 可复用性
13、和可维护性7 2 0南京大学学报(自然科学)第 4 1卷W F B 架 构 业 务 层WE B 架构AY 务层业 务 功 能 植 块 t业 务功能模块、目 目()传统 的编程方式 实现职 E B 架构业务层(B)使 用 C P 实M W E B 架 构 业 务 9圈2 A O P在 WE B架构业务层上的应用3便用 A O P和 MV C模 式构建WE B 应用架构3.1 基于A O P 与M V C 模式的We b 应用架构 MV C 模式把用户界面设计、流 程控制和业务逻 辑 进 行 了 分 离15 3.将M V C 模 式引 人W e b 应用 架构,能实现通过控制器来联系表示层和业务
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AOP MVC 模式 Web 应用 架构 设计 实现
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内