From c77ac0af8ccd8a96c7e77fe81c7b57d7f432b22e Mon Sep 17 00:00:00 2001 From: Omooo <869759698@qq.com> Date: Wed, 1 Jul 2020 10:15:45 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E5=8F=A3=E6=B0=B4=E8=AF=9D.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blogs/DesignMode/口水话.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/blogs/DesignMode/口水话.md b/blogs/DesignMode/口水话.md index b84b239..33c5bd0 100644 --- a/blogs/DesignMode/口水话.md +++ b/blogs/DesignMode/口水话.md @@ -68,3 +68,10 @@ #### 代理模式 +代理模式是指在不改变原始类的情况下,通过引入代理类来给原始类附加功能。代理可以分为静态代理和动态代理。 + +静态代理的实现比较简单,就是把实际的对象通过构造函数传给代理类,代理类可以在原有的基础上添加一些附加功能。动态代理不必像静态代理事先为每个原始类编写代理类,他可以在运行时动态的创建原始类的代理类,然后在系统中用代理类替换带原始类。在 Java 中的实现也比较简单,毕竟提供了InvocationHandler 来做,但是 Java 中的动态代理只能代理接口,如果想代理类就要使用 cglib 了。 + +在做插件化,Hook Activity 的生命周期时,就可以使用动态代理替换掉 ActivityThread 的 H 类的 handleMessage 方法。 + +#### \ No newline at end of file