1 / 11
文档名称:

AOP面向切面编程.docx

格式:docx   大小:78KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

AOP面向切面编程.docx

上传人:文库旗舰店 2018/8/24 文件大小:78 KB

下载得到文件列表

AOP面向切面编程.docx

相关文档

文档介绍

文档介绍:AOP面向切面编程
AOP(Aspect-Oriented Programming,面向切面的编程),它是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。它是一种新的方法论,它是对传统OOP编程的一种补充。
OOP是关注将需求功能划分为不同的并且相对独立,封装良好的类,并让它们有着属于自己的行为,依靠继承和多态等来定义彼此的关系;AOP是希望能够将通用需求功能从不相关的类当中分离出来,能够使得很多类共享一个行为,一旦发生变化,不必修改很多类,而只需要修改这个行为即可。
AOP是使用切面(aspect)将横切关注点模块化,OOP是使用类将状态和行为模块化。在OOP的世界中,程序都是通过类和接口组织的,使用它们实现程序的核心业务逻辑是十分合适。但是对于实现横切关注点(跨越应用程序多个模块的功能需求)则十分吃力,比如日志记录,验证。
/*计算器接口*/
public interface Calculator
{
public double add(double num1, double num2) throws Exception;
public double sub(double num1, double num2) throws Exception;
public double div(double num1, double num2) throws Exception;
public double mul(double num1, double num2) throws Exception;
}
复制代码
/*计算器接口的实现类*/
public class alculator implements Calculator
{
***@Override
public double add(double num1, double num2)
{
double result = num1 + num2;
return result;
}
***@Override
public double sub(double num1, double num2)
{
double result = num1 - num2;
return result;
}
/*示意代码暂时不考虑除数0的情况*/
***@Override
public double div(double num1, double num2)
{
double result = num1 / num2;
return result;
}
***@Override
public double mul(double num1, double num2)
{
double result = num1 * num2;
return result;
}
}
复制代码
大多数应用程序都有一个通用的需求,即在程序运行期间追踪正在发生的活动。为了给计算机添加日志功能,alculator类改变如下:
/*计算器接口的实现类,添加记录日志功能*/
public class alculator implements Calculator
{
***@Override
public double add(double num1, double num2)
{
("the method [add()]"+"begin with args ("+num1+","+num2+")");
double result = num1 + num2;
("the method [add()]"+"end with result ("+result+")");

return result;
}
***@Override
public double sub(double num1, double num2)
{
("the method [sub()]"+"begin with args ("+num1+","+num2+")");
double result = num1 - num2;
("the method [sub()]"+"end with result ("+result+")");

return result;
}
/*示意代码暂时不考虑除数0的情况*/
***@Override
public double div(dou

最近更新

《工程监理资料》 10页

2024年塑料挂钩项目资金筹措计划书代可行性研.. 60页

2024年石英玻璃纤维绳项目资金申请报告代可行.. 68页

2024年烧碱项目资金筹措计划书代可行性研究报.. 63页

2024年软胶囊剂机械项目投资申请报告代可行性.. 49页

2024年氢氧化锂项目资金申请报告代可行性研究.. 64页

2024年汽车诊断仪项目投资申请报告代可行性研.. 62页

(9.19-3.4)中国邮政储蓄银行网点大堂经理服务.. 17页

2024年动物原药项目合作计划书 49页

2024年打捞船项目建议书 60页

2024年补肾类药物合作协议书 54页

2024年OLED检测系统合作协议书 61页

高考生物第一轮总复习 99页

高中地理212城市功能分区、空间结构与中心地理.. 32页

工程项目安全管理信息系统开发 26页

地球自转的地理意义复习 29页

商务星球版地理八上《交通运输网 32页

人教版七年级生物下册知识树 29页

黑龙江省哈尔滨市三中2023-2024学年高一上学期.. 9页

高二数学个人教学计划学情分析 20页

《平台与风控》课件 29页

课人体及其他生物的新陈代谢 21页

甘肃省天水市2023年中考英语真题(附答案) 15页

2023年干部监督工作汇报 干部监督室工作汇报 6页

汽车检测与维修技术专业毕业论文 25页

深圳市社会投资建设项目报建流程图 1页

少儿财商养成教育专题讲座PPT模板下载 16页

DGTJ08-100-2017 低压用户配电装置规程 106页

卓越绩效培训心得 4页

基督教要道问答 5页