diff --git a/blogs/DesignMode/口水话.md b/blogs/DesignMode/口水话.md index 5f8503a..b84b239 100644 --- a/blogs/DesignMode/口水话.md +++ b/blogs/DesignMode/口水话.md @@ -56,6 +56,15 @@ 工厂模式可以细分为三种类型:简单工厂、工厂方法和抽象工厂。 +当创建逻辑比较复杂时,就可以考虑使用工厂模式,封装对象的创建过程,将对象的创建和使用相分离。何为创建逻辑毕竟复杂呢?主要有两种情况,第一种情况是类似规则配置解析的例子,代码中存在 if-else 分支判断,动态的根据不同的类型创建不同的对象。针对这种情况,我们就可以考虑使用工厂模式,将这一大块的 if-else 创建对象的代码抽离出来,放到工厂类中。还有一种情况是,尽管我们不需要根据不同的类型创建不同的对象,但是,单个对象本身的创建过程比较复杂,比如前面提到的要组合其他类对象,做各种初始化操作,在这种情况下,我们也可以考虑使用工厂模式。 +常见的工程模式有 DataFormat 类、String.valueOf 等等。 + +#### 构建者模式 + +构建者模式即 Builder 模式。如果一个类中有很多属性,为了避免构造函数的参数列表很长,影响代码的可读性和易用性,我们可以通过构造函数配合 setXxx() 方法来解决。不仅可以控制参数的必要性,还可以对参数进行合法性校验。 + +在 Android 中,最典型的应用莫过于 AlertDialog 了。 + +#### 代理模式 -#### \ No newline at end of file