diff --git a/blogs/DesignMode/口水话.md b/blogs/DesignMode/口水话.md index 33c5bd0..3548bbd 100644 --- a/blogs/DesignMode/口水话.md +++ b/blogs/DesignMode/口水话.md @@ -74,4 +74,14 @@ 在做插件化,Hook Activity 的生命周期时,就可以使用动态代理替换掉 ActivityThread 的 H 类的 handleMessage 方法。 +#### 装饰器模式 + +装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承。它主要的作用是给原始类添加增强功能。这也是判断是否该用装饰器模式的一个重要的依据。除此之外,装饰器模式还有一个特点,那就是可以对原始类嵌套使用多个装饰器。为了满足这个应用场景,在设计的时候,装饰器类需要跟原始类继承相同的抽象类或接口。这其实有点静态代理的内味,但是代理模式一般附加的是跟原始类无关的功能,比如打点,而在装饰器模式中,装饰器类附加的是跟原始类相关的增强功能。 + +在 Java 中,典型的装饰器模式应用就是 Java 的 I/O 类库了。 + +#### 适配器模式 + + + #### \ No newline at end of file