download:Android面试超级攻略,全面攻破技术疑难及面试痛点
AOP产生背景
【Android面试超级攻略,全面攻破技术疑难及面试痛点吾爱fen享】使用面向对象编程 ( OOP )
有一些弊端,当需要为多个不具有继承关系的对象引人同一个公共行为时,例如日志、安全检测等,我们只有在每个对象里引用公共行为,这样程序中就产生了大量的重复代码,程序就不便于维护了,所以就有了一个对面向对象编程的补充,即面向方面编程 ( AOP ), AOP 所关注的方向是横向的,区别于 OOP 的纵向
。
什么是AOP
什么是面向方面编程,3个过程:
找到横切点:首要目标确定在程序的哪
个位置进行横切逻辑
横切逻辑(业务代码):横切逻辑代码,这个就是横切业务代码,与aop无关
织入:将横切逻辑织入到横切点
开发者主要关心的是横切逻辑的编写,只需要很少的代码编写确定横切点有哪些,而不需要去为每个横切点添加横切逻辑,不然就是面向对象编程了。
既然是横向的编程,那么在我们的程序中,哪些可以作为横线切入点呢?
看下示例代码:
public class Test {
public static void main(String[] args) {
//@1
B b = new B();
//@2
b.method();
//@3
B.say();
}static class B {
//字段
//@4
private String name;
//构造方法
public B() {
//@1.1
}
//对象方法
public void method(){
//@2.2
}
//静态方法
static void say(){
//@3.3
推荐阅读
- 2022 Google 游戏开发者峰会来啦!
- windows|Windows Subsystem for Android 下载地址,在 Windows 11 上运行 Android 系统
- android|android autosize原理,(原创)AndroidAutoSize屏幕适配工具介绍
- docker|使用 GB28181.Solution + ZLMediaKit + MediaServerUI 进行摄像头推流和播放
- EventBus 3.0 源码分析
- java|JetBrains IDE/Android Studio 翻译插件,支持中英互译、单词朗读。
- android|IntelliJ Plugin 开发之调试运行、部署、本地安装和发布项目到仓库(三)
- AndroidQQ登录接入详细介绍
- Android面试超级攻略,全面攻破技术疑难及面试痛点吾爱