好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Ruby設計模式編程中使用Builder建造者模式的實例

Ruby設計模式編程中使用Builder建造者模式的實例

熱門標簽:地圖標注賺錢項目注冊 滴滴外呼系統 徐州網絡外呼系統哪個好 湖州u友防封電銷卡 百度地圖標注自定義圖片 高德地圖標注客服 白銀外呼paas系統 電銷機器人廠商代理 常德電銷平臺外呼系統軟件價格

先來復習一下設計模式的基本概念:
定義
將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。
建造者隱藏了該產品是如何組裝的,所以若需要改變一個產品的內部表示,只需要重新定一個建造者就可以了。
實用范圍
1.當創建復雜對象的算法應該獨立于該對象的組成部分以及它們的裝配方式時。
2.當構造過程必須允許被構造的對象有不同表示時。
角色
在這樣的設計模式中,有以下幾個角色:
1.builder:為創建一個產品對象的各個部件指定抽象接口。
2.ConcreteBuilder:實現Builder的接口以構造和裝配該產品的各個部件,定義并明確它所創建的表示,并 提供一個檢索產品的接口。
3.Director:構造一個使用Builder接口的對象。
4.Product:表示被構造的復雜對象。ConcreteBuilder創建該產品的內部表示并定義它的裝配過程,包含定義組成部件的類,包括將這些部件裝配成最終產品的接口。
下面我們來看一個實例:
需求:

畫一個小人,有頭,有身體,兩手兩腳即可。

初始代碼:

# -*- encoding: utf-8 -*-

#小人一
puts '這是第一個小人'
puts '小人一:頭'
puts '小人一:瘦身體'
puts '小人一:雙手'
puts '小人一:雙腳'

#小人二
puts '這是第二個小人'
puts '小人二:頭'
puts '小人二:胖身體'
puts '小人二:雙手'
puts '小人二:雙腳'

問題:代碼重復,而且容易出錯,缺胳膊少腿之類的。

改進代碼:

# -*- encoding: utf-8 -*-

#
class PersionBuilder
  def head
    puts ''
  end
  def body
    puts ''
  end
  def arm
    puts ''
  end
  def leg
    puts ''
  end
end

#小人一
class PersionThinBuilder  PersionBuilder
  def head
    puts '頭'
  end
  def body
    puts '瘦身體'
  end
  def arm
    puts '雙手'
  end
  def leg
    puts '雙腳'
  end
end
#小人二
class PersionFatBuilder  PersionBuilder
  def head
    puts '頭'
  end
  def body
    puts '胖身體'
  end
  def arm
    puts '雙手'
  end
  def leg
    puts '雙腳'
  end
end

#指揮者類
class PersionDirect
  def initialize(persion)
    @persion = persion
  end
  
  def create_persion
    @persion.head
    @persion.body
    @persion.arm
    @persion.leg
  end

end
puts '這是第一個小人'
p1 = PersionThinBuilder.new
pd1 = PersionDirect.new(p1)
pd1.create_persion

puts '這是第二個小人'
p2 = PersionThinBuilder.new
pd2 = PersionDirect.new(p2)
pd2.create_persion


您可能感興趣的文章:
  • 設計模式中的觀察者模式在Ruby編程中的運用實例解析
  • 實例解析Ruby設計模式開發中對觀察者模式的實現
  • 深入剖析Ruby設計模式編程中對命令模式的相關使用
  • Ruby設計模式編程中對外觀模式的應用實例分析
  • 詳解組合模式的結構及其在Ruby設計模式編程中的運用
  • 設計模式中的模板方法模式在Ruby中的應用實例兩則
  • 實例解析Ruby設計模式編程中Strategy策略模式的使用
  • 實例講解Ruby使用設計模式中的裝飾器模式的方法
  • 詳解Ruby設計模式編程中對單例模式的運用
  • Ruby設計模式編程之適配器模式實戰攻略
  • Ruby使用設計模式中的代理模式與裝飾模式的代碼實例
  • Ruby中使用設計模式中的簡單工廠模式和工廠方法模式
  • 解析proxy代理模式在Ruby設計模式開發中的運用

標簽:永州 荊門 公主嶺 遼寧 梧州 三沙 普洱 張家界

巨人網絡通訊聲明:本文標題《Ruby設計模式編程中使用Builder建造者模式的實例》,本文關鍵詞  Ruby,設計模式,編程,中,使用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby設計模式編程中使用Builder建造者模式的實例》相關的同類信息!
  • 本頁收集關于Ruby設計模式編程中使用Builder建造者模式的實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 情欲望超市| 极品人妖TS重口系列| 舒服快点…老师再深一点| 夜夜躁狠狠躁日日躁XXOO| 同性脚footgay白袜脚踩| 国产精品秘?麻豆097林思允| 亚洲a级片| a级**免费视频高清| 【总/攻】在龙傲天文里当反派| 免费无码婬片AAAA片小说漫画| 120秒动态图| 亚洲v国产v天堂a无码二区久久| 在线不卡亚洲| 一个寝室3个攻一受百合gl| 小sao货把腿张开cao死| 爆操女同学| 三级国产片| 美女裸体秘?无遮挡視頻视频网站漫画| 国产美女一区二区三区| 爽辣文| 国产男女无遮挡猛进猛出| 美艳护士婬荡呻吟AV在线观看| 女人扒开腿让男人狂桶30分钟| 国产亲子乱A片免费视频| 欧美男男videos| 小浪蹄子嗯嗯水挺多啊| 校园春色中文字幕| 别揉我奶?啊?嗯高潮张秘书| 99国精产品一区一区三区最新版| 强伦轩人妻一区二区三区四区| 91视频啪| 亚洲综合无码久久日日网址| 快灬快灬?一下爽喷水| 青木玲母乳| 国产激情视频| 色视频日本| 三亚在线观看免费高清电视剧软件 | 国产午夜精品久久理论片| 古装一级毛片免费观看| 女刑警双腿打开受刑异国风云| ???欧洲女人性高湖|