Android设计模式:入门到精通

Android 设计模式入门到精通之五:建造者模式(Builde

2020-02-04  本文已影响0人  编程家园

建造者模式(Builder Pattern)

1. 概念

Separate the construction of a complex object from its representation so that the sameconstruction process can create different representations.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

2. 应用场景 --比如:StringBuilder.append().append().toString();

• 相同的方法,不同的执行顺序,产生不同的事件结果时,可以采用建造者模式。

• 多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时,则可以使用该模式。

• 产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候使用建造者模式非常合适。

•  在对象创建过程中会使用到系统中的一些其他对象,这些对象在产品对象的创建过程中不易得到时,也可以采用建造者模式封装该对象的创建过程。该种场景只能是一个补偿方法,因为一个对象不容易获得,而在设计阶段竟然没有发觉,而要通过创建者模式柔化创建过程,本身已经违反设计的最初目标。

3. 代码实践

JDK: 

• java.lang.StringBuilder#append()

• java.lang.StringBuffer#append()

• java.nio.ByteBuffer#put() (CharBuffer, ShortBuffer, IntBuffer,LongBuffer, FloatBuffer 和DoubleBuffer与之类似)

• javax.swing.GroupLayout.Group#addComponent()

• java.sql.PreparedStatement

• java.lang.Appendable的所有实现类

Android: 

• AlertDialog.Builder

• 以Retrofit&OkHttpClient的对象构建为例,具体Builder实现方式参照框架源码:

上一篇 下一篇

猜你喜欢

热点阅读