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