现在的位置: 首页 > 综合 > 正文

系统架构师学习笔记_第十八章_连载

2012年05月23日 ⁄ 综合 ⁄ 共 734字 ⁄ 字号 评论关闭

第十八章  面向方面的编程

AOP(Aspect Oriented Programing)面向方面的编程。

18.1  方面编程的概念

18.1.1  AOP 产生的背景

1、面向过程编程面临的问题

面向过程编程是一种自顶向下的编程方法,其实质是对软件进行功能性分解。

2、传统面向对象编程面临的问题

对象模型可以很好地映射到实际领域。

完成某个特定需求的代码分散到各个类中,很难把它们全部找到,这就给程序的健壮性带来了隐患。

将传统的按功能或按对象划分程序模块的方法 转化为按系统特征划分程序模块,这就是 AOP的基本思想。

18.1.2  面向方面的编程

某些操作较难实现模块化,称涉及到这些操作的代码是分散的。

方面的定义:一个设计来用于捕捉应用程序横切面功能的程序单位。

方面与类的不同在于它实现了横切程序的功能。

程序中包括类和方面意味着模块性可以在两个因素上实现:类实现基本的功能性(这个因素叫做结构性);方面实现横切的功能性(这个因素叫做可操作性)。

方面由两个部分组成:切入点和通知代码。

通知代码包括要执行的代码,切入点定义了程序重要执行的代码处的点。

一个服务可以在一个程序中是非功能性的,但在另一个程序中却是功能性的。

18.1.3  AOP 技术

AOP可以说是OOP(Object-Oriented Programming)面向对象编程 的补充和完善。

它利用一种称为“横切”的技术,剖开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为Aspect,即方面。

实现 AOP 采用动态代理技术/采用静态织入的方式。

18.1.4  AOP 特性

改善了软件的 可扩展性、重用性、易理解性、易维护性。

通过将实现基本功能的组件和特定于应用的系统特性分离,使得组件(包括类或者函数)的重用性得到提高。

抱歉!评论已关闭.