From bd5d671eba2b2768034c9f9e69a76f93340bcf6c Mon Sep 17 00:00:00 2001 From: Omooo <869759698@qq.com> Date: Wed, 1 Jul 2020 10:42:19 +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 | 10 ++++++++++ 1 file changed, 10 insertions(+) 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