日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python3實現建造者模式的示例代碼

瀏覽:4日期:2022-07-19 14:57:42

建造者模式

建造者模式用于創建復雜的對象。使用建造者模式可以使復雜的過程層次明了、清晰,把對象的創建以及使用進行了解耦。實際上從代碼的角度上看,是進行了多次封裝,使代碼結構更為規范合理,層次結構更加鮮明。

在一個復雜的對象中,需要編寫大量的代碼去實現這一個類,并且在進行初始化時,也有可能會有大量的參數去進行初始化。

建造者模式把實現一個類給拆分成多個創建步驟,這些步驟在大多數相關資料中,一般以擬人化的形式進行表達;例如建造者、指揮者以及導演者,但是這些名詞的擬人化并不能完全的讓讀者能夠get到完整的含義。以下將詳細講解這幾個角色所需要做的事務。

此篇是一個水文,就用建房子來作為一個簡單示例講解。

首先我們創建一個房子的基類來模擬房子:

class House:#房子基類 def __init__(self): self.size=0 self.floor=0 self.garage=0 self.courtyard=0 def __str__(self): houseInfo=’我的房子有’+str(self.size)+’平米,’+str(self.floor)+’層樓,’+str(self.garage)+’個車庫’+str(self.courtyard)+’個院子’ return houseInfo

其中使用 size、floor、garage、courtyard用以記錄房子的信息,以便之后工人在建造房子的時候作為記錄。接下來我們建造一個工人類,用來具體去建造我們的房子:

class HouseBuilder:#建造者類工人 def __init__(self): self.house=House() def buildGarage(self,amount): self.house.garage=amount print(self.house) def buildFloor(self,amount): self.house.floor=amount print(self.house) def buildSize(self,amount): self.house.size=amount print(self.house) def buildCourtyard(self,amount): self.house.courtyard=amount print(self.house)

定義了建造size 尺寸占地面積、garage 車庫數量、floor 房屋樓層以及 courtyard 庭院數量,并且在這些方法中都傳入了一個參數用作設置這些信息。

有了工人后,再來一個包工頭,包工頭更好的去統籌建造適宜,同時也是跟用戶的對接人。

class Foreman:#領班 def __init__(self): self.builder=HouseBuilder() def build(self,size,floor,garage,courtyard):#建造步驟 self.builder.buildSize(size) self.builder.buildFloor(floor) self.builder.buildGarage(garage) self.builder.buildCourtyard(courtyard)

在包工頭的初始化函數中,新建一個工人類,也就是房子的建造者,之后定義了一個build方法用于建造,建造時一般為首先確定面積大小,隨后建造房屋(樓層),再建造車庫以及庭院。

這個時候一個簡單的建造者模式就完成了,為了更好的進行說明,我新建了一個User類,這個User類并不需要了解其中具體完成,只需要對接包工頭,這個時候告訴包工頭我的占地大小,房屋大小以及一些參數后,包工頭告訴給他的小弟們,這個時候就可以開始建造了,用戶并不需要了解其建造過程。代碼如下:

class User():#用戶 def __init__(self,size,floor,garage,courtyard): self.frm=Foreman() self.frm.build(size,floor,garage,courtyard)

完整代碼如下:

class House:#房子基類 def __init__(self): self.size=0 self.floor=0 self.garage=0 self.courtyard=0 def __str__(self): houseInfo=’我的房子有’+str(self.size)+’平米,’+str(self.floor)+’層樓,’+str(self.garage)+’個車庫’+str(self.courtyard)+’個院子’ return houseInfo class HouseBuilder:#建造者類工人 def __init__(self): self.house=House() def buildGarage(self,amount): self.house.garage=amount print(self.house) def buildFloor(self,amount): self.house.floor=amount print(self.house) def buildSize(self,amount): self.house.size=amount print(self.house) def buildCourtyard(self,amount): self.house.courtyard=amount print(self.house)class Foreman:#領班 def __init__(self): self.builder=HouseBuilder() def build(self,size,floor,garage,courtyard):#建造步驟 self.builder.buildSize(size) self.builder.buildFloor(floor) self.builder.buildGarage(garage) self.builder.buildCourtyard(courtyard)class User():#用戶 def __init__(self,size,floor,garage,courtyard): self.frm=Foreman() self.frm.build(size,floor,garage,courtyard) xiaoming=User(500,3,2,1)

運行結果如下:

Python3實現建造者模式的示例代碼

設計模式有一定的局限性,具體使用場景得具體分析。

到此這篇關于Python3實現建造者模式的示例代碼的文章就介紹到這了,更多相關Python3 建造者模式內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品二区不卡| 欧美成人午夜| 日本在线成人| 视频一区二区不卡| 六月婷婷一区| 在线日韩成人| 91成人在线网站| 国产精品网站在线看| 久久国内精品| 日韩精品中文字幕吗一区二区| 激情五月综合网| 日韩精品一二三四| 日韩欧美激情电影| 久久成人福利| 日韩伦理在线一区| 精品欧美久久| 蜜桃久久精品一区二区| 日韩一区中文| 国产精品一区二区99| 国模精品一区| 久久视频精品| 亚洲精品美女91| 欧美亚洲tv| 国产不卡精品在线| 亚洲1234区| 亚洲精品一区二区妖精| 手机精品视频在线观看| 欧美一区二区三区久久| 国内自拍视频一区二区三区| 久久国产日韩| 亚洲综合五月| 美腿丝袜亚洲三区| 日韩精品欧美| 亚洲青青久久| 久久精品资源| 亚洲午夜精品久久久久久app| 免费高清在线一区| 国产精品一区二区三区四区在线观看| 欧美国产美女| av不卡在线看| 国产美女视频一区二区| 高清不卡亚洲| 美美哒免费高清在线观看视频一区二区| 久久精品99国产国产精| 日韩av一级| 日韩av一区二区在线影视| 最近高清中文在线字幕在线观看1| 一本一道久久a久久精品蜜桃| 97成人超碰| 九九精品调教| 国产日韩欧美在线播放不卡| 色爱综合av| 欧美日韩国产一区二区在线观看| 狠狠躁少妇一区二区三区| 美女精品网站| 麻豆精品视频在线| 蜜桃成人av| 国产精品欧美三级在线观看| 欧美日韩色图| 国产精品亚洲二区| 日韩一级不卡| 国产aⅴ精品一区二区四区| 亚洲综合欧美| 国产第一亚洲| 亚洲精品无吗| 欧美日韩精品一区二区视频| 国产日韩一区二区三区在线播放 | 国产精品色在线网站| 亚洲不卡系列| 青青在线精品| 夜夜嗨av一区二区三区网站四季av| 国产日韩中文在线中文字幕| aa亚洲婷婷| 日韩三区在线| 精品视频一区二区三区四区五区 | 在线亚洲欧美| 老色鬼精品视频在线观看播放| 国产精品试看| 日韩专区精品| 国产精品毛片视频| 亚洲青青久久| 国产亚洲高清视频| 丁香六月综合| 美日韩一区二区三区| 亚洲精品成a人ⅴ香蕉片| 精品免费av在线| 麻豆精品99| 日韩精品一区二区三区av| 欧美精品一二| 中文字幕色婷婷在线视频| 国产欧美在线| 免费视频久久| 欧美日韩激情在线一区二区三区| 久久久久久色 | 蜜桃久久久久久久| 精品日韩毛片| 成人看片网站| 国产aa精品| 国产精品毛片久久久| 日韩一二三区在线观看| 国产视频久久| 91国语精品自产拍| 久久中文字幕av一区二区不卡| 日本久久综合| 视频在线不卡免费观看| 国产精品大片免费观看| 日本成人中文字幕在线视频| 国产亚洲网站| 红桃视频国产精品| 激情欧美一区二区三区| 桃色一区二区| 久久久精品午夜少妇| 成人在线超碰| 精品三级国产| 精品国产亚洲日本| 精品中文在线| 精品视频免费| 精品三级国产| 日韩大片在线播放| 特黄毛片在线观看| 播放一区二区| 欧美日韩激情| 亚洲欧美日韩国产一区| 性色av一区二区怡红| 久久成人精品| 免费在线视频一区| 视频一区二区三区在线| 久久午夜精品| 蜜桃视频在线观看一区二区| 免费在线观看精品| 日本在线一区二区三区| 欧美日韩一视频区二区| 国产精品99久久免费| 精品三级久久久| 中文在线а√天堂| 欧美亚洲在线日韩| 在线一区免费观看| 中文字幕av亚洲精品一部二部| 蜜桃视频第一区免费观看| 日本综合精品一区| 国产精品丝袜在线播放| 麻豆91在线播放| 高清久久精品| 国产91精品对白在线播放| 日韩视频精品在线观看| 日韩影院在线观看| 日本国产亚洲| 老色鬼精品视频在线观看播放| 91欧美在线| 亚洲一级特黄| 亚洲九九精品| 你懂的国产精品| 99精品在线| 免费观看久久久4p| 国产精品一线| 日韩免费av| 在线观看一区| 国产乱子精品一区二区在线观看| 激情综合五月| 免费精品国产的网站免费观看| 美女网站久久| 国产精品2023| 欧美影院三区| 日本vs亚洲vs韩国一区三区二区| 久久精品国产99国产| 色综合www| 天堂va在线高清一区| 精品资源在线| 99riav国产精品| 国产精品亚洲四区在线观看| 国产综合色区在线观看| 亚洲乱码久久| 国产精品99视频| 性一交一乱一区二区洋洋av| 国产欧美成人| 免费精品国产| 国产麻豆精品久久| 国产一在线精品一区在线观看| 日韩在线成人| 色爱av综合网| 国产欧美丝祙| 在线日韩视频| 国产剧情一区| 在线亚洲自拍| 日本黄色精品| 日韩在线网址| 久久高清免费| 欧美另类中文字幕| 蜜桃成人av| 精品国产一区二区三区av片| 久久福利精品| 日本在线精品| 美女毛片一区二区三区四区最新中文字幕亚洲 | 国产一区二区三区四区五区| 亚洲一区二区三区四区五区午夜| 国产伦精品一区二区三区视频 | 999久久久免费精品国产| 91成人在线网站| 欧美日韩四区| 98精品久久久久久久|