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