乐趣区

关于android:Android面试超级攻略全面攻破技术疑难及面试痛点吾爱fen享

download:Android 面试超级攻略,全面攻破技术疑难及面试痛点

AOP 产生背景

应用面向 对象编程(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
退出移动版