![設計模式-建造者模式](http://p2.ttnews.xyz/loading.gif)
建造者模式是設計模式中的一種,它又可以稱為生成器模式,是將一個複雜對象的構建和它的表示相分離,使同樣的構建過程可以創建不同的表示。
在建造者模式中我們可以簡單分類以下4種角色
1、抽象建造者,一般用來定義需要生成實例的方法。
2、建造者,實現抽象建造者的方法,裡面包含了具體的實現代碼。
3、指揮者,控制使用建造者的消費者使用哪個方法來實現。
4、消費者,建造者模式的使用者。
在java中StringBuilder就使用了建造者模式,下面我們就藉助這個類來詳解一下。
StringBuilder繼承了AbstractStringBuilder,而AbstractStringBuilder實現了Appendable。
1、Appendable接口中定義了多個append方法(抽象方法),所以Appendable是抽象建造者。
2、AbstractStringBuilder實現了Appendable接口方法,這裡的AbstractStringBuilder是建造者。
3、StringBuilder充當了指揮者模式,同時StringBuilder也是建造者模式,在StringBuilder中的具體實現是由AbstractStringBuilder完成,而StringBuilder只是繼承了AbstractStringBuilder。
閱讀更多 東方洛雷 的文章