日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

设计模式 _第五招式_建造者模式

發布時間:2024/1/8 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式 _第五招式_建造者模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、定義
建造者模式(Builder Pattern)叫做生成器模式,將一個復雜對象的構建與它表示分離,使得同樣的構造過程可以創建不同的表示,可以按照部件屬性有序的創建對象。
二、代碼演示
建造者模式通用類圖

  • Product產品類

通常是實現了模版方法模式,也就是有模版方法和基本方法。

public class Product {public void doSomething(){//獨立業務邏輯} }
  • Builder抽象建造者

規范產品的組建,一般是由子類實現。

public abstract class Builder {//設置產品的不同部分,已獲得不同的產品public abstract void setPart();//構造產品public abstract Product buildProduct(); }
  • ConcreteBuilder具體建造者

實現抽象類定義的所有方法,并且返回一組構建好的對象。

public class ConcreteProduct extends Builder {Product product = new Product();//設置產品零件public void setPart(){//產品類內的邏輯處理}//組建一個產品public Product buildProduct(){return product ;} }
  • Director導演類

負責安排已有的模塊的順序,然后告訴Builder開始構造

public class Director {private Builder builder = new ConcreteProduct();//構建不同的產品public Product getAProduct(){builder.setPart();return builder.buildProduct();} }

三、優點

  • 封裝性
    使用建造者模式可以使客戶端不必知道產品內部組成的細節。
  • 建造者獨立,容易擴展
    每個建造者相互獨立,很好擴展。
  • 便于控制細節風險
    由于具體的建造者是獨立的,因此可以對建造者過程逐步細化,而不會對其它模塊產生影響。

四、缺點

五、應用場景

  • 相同的方法,不同的執行順序,產生不同的事件結果。
  • 多個部件或零件,都可以封裝到一個對象中,但是產生的運行結果又不相同,則可以采用該模式。
  • 產品類非常復雜,或者產品類中調用的順序不同,產生的結果不同,這非常時候建造者模式。

六、注意事項

  • 建造者模式關注的是零件類型和裝配工藝(順序),這是它與工廠方法模式最大的不同地方,雖然都是創建類,但是注重點不同。
  • 建造者模式常常需要和模版方法模式結合使用。

總結

以上是生活随笔為你收集整理的设计模式 _第五招式_建造者模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。