日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

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

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

一、定義
建造者模式(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();} }

三、優點

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

四、缺點

五、應用場景

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

六、注意事項

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

總結

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

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