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

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

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

瀏覽:2日期: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久久,三上悠亚国产精品一区二区三区
欧美精品第一区| 蜜桃成人精品| 欧美日韩国产精品一区二区亚洲| 日韩高清在线不卡| 亚州av日韩av| 日韩欧美四区| 久久久久久亚洲精品美女| 精品三区视频| 日本精品在线中文字幕| 蜜桃精品在线| 亚洲经典在线| 日本中文字幕视频一区| 欧美一级全黄| 国产suv精品一区| 久久九九精品| 免费高清在线一区| 国产亚洲一区二区三区啪| 国产一区二区三区久久 | 99久久99久久精品国产片果冰| 久久久久久久久丰满| 久久免费大视频| 日韩有码av| 精品国产a一区二区三区v免费| 91精品精品| 一区二区电影| 久久久久久自在自线| 欧美日韩国产综合网| 日本aⅴ免费视频一区二区三区| 精品精品99| 亚洲一级高清| 国产日韩高清一区二区三区在线 | 综合一区av| 久久99久久久精品欧美| 免费精品国产的网站免费观看| 日韩不卡一二三区| 久久婷婷一区| 国产精品久久久久久模特| 久久在线免费| 国产伦一区二区三区| 91看片一区| 日韩成人一级| 正在播放日韩精品| 日韩一区二区三免费高清在线观看| 红杏一区二区三区| 在线精品视频一区| 电影亚洲精品噜噜在线观看| 日本91福利区| 日韩视频在线一区二区三区| 精品国产亚洲日本| 亚洲视频二区| 亚洲网站视频| 久久久91麻豆精品国产一区| 国产精品日韩久久久| 91亚洲国产成人久久精品| 亚洲人成网77777色在线播放| 激情亚洲影院在线观看| 日韩精品一区二区三区中文| 香蕉国产精品| 中文在线免费视频| 国产精品a久久久久| 在线综合欧美| 日韩在线欧美| 久久只有精品| 久久精品 人人爱| 首页国产欧美久久| 天堂网在线观看国产精品| 久久亚州av| 国产色噜噜噜91在线精品| 丝袜美腿一区二区三区| 日韩综合精品| 精品91福利视频| 日本成人中文字幕在线视频| 美女尤物久久精品| 亚洲婷婷在线| 91精品国产自产在线观看永久∴| 久久三级中文| 国产精品v一区二区三区| 亚洲ww精品| 亚洲精品四区| 免播放器亚洲一区| 久久福利一区| 天堂av在线一区| 不卡av一区二区| 欧美一区二区三区激情视频| 99久久婷婷这里只有精品| 精品国产亚洲一区二区三区大结局| 在线国产日韩| 亚洲开心激情| 日日夜夜免费精品| 18国产精品| 日韩av影院| 国产日韩欧美一区在线| 国产日韩一区二区三免费高清| 日韩高清电影免费| 日韩三区四区| 国产午夜久久av| 国产欧美二区| 国产精品115| 国内精品伊人| 中文字幕在线视频久| 亚洲综合在线电影| 日本美女一区| 欧美日韩精品一区二区视频| 国产91精品对白在线播放| 91久久久精品国产| 午夜在线一区二区| 日韩一区二区三免费高清在线观看 | 久久久久国产一区二区| 99久久99久久精品国产片果冰 | 国产精品久久久一区二区| 日韩不卡手机在线v区| 日日夜夜免费精品视频| 日韩 欧美一区二区三区| 午夜国产精品视频免费体验区| 日韩欧美三级| 久久精品影视| 日韩精品一级二级| 亚洲精选久久| 国产精品15p| 香蕉久久精品| 日韩高清成人在线| 水蜜桃久久夜色精品一区| 亚洲欧美伊人| 日本欧美久久久久免费播放网| 国产欧美精品| 最近高清中文在线字幕在线观看1| 国产一区亚洲| 日韩欧美高清一区二区三区| 欧美片第1页综合| 久久久久一区| 97久久超碰| 欧美精品高清| 天堂va在线高清一区| 精品国产91| 男人的天堂久久精品| 国产极品嫩模在线观看91精品| 日本精品不卡| 亚洲人成网77777色在线播放| 精品国产中文字幕第一页| 国产韩日影视精品| 国产麻豆一区二区三区精品视频| 日韩免费久久| 日本一区二区三区视频在线看| 久久久国产精品网站| 亚洲综合不卡| 久久精品国产网站| 老牛影视一区二区三区| 国产成人黄色| 日韩精品亚洲专区| 在线日韩电影| 麻豆国产欧美一区二区三区| 免费日韩av片| 日韩精品诱惑一区?区三区| 日韩av二区在线播放| 91精品91| 国产欧美一区二区三区精品酒店| 亚洲精品福利| 99精品网站| 麻豆一区在线| 日本不卡一区二区| 亚州av乱码久久精品蜜桃| 久久影院资源站| 日韩精选在线| 免费中文字幕日韩欧美| 日韩大片在线播放| 国产高清日韩| 日韩欧美精品一区二区综合视频| 99热国内精品| 成人影视亚洲图片在线| 日本久久一区| 欧美综合二区| 欧美福利一区| 97在线精品| 日韩高清二区| 免费精品视频| 欧美1级日本1级| av最新在线| 里番精品3d一二三区| 亚洲毛片网站| 中文日韩欧美| 国产精品99一区二区| 福利在线免费视频| 久久尤物视频| 久久av免费看| 国产欧美日韩视频在线| 亚洲久久一区| 亚洲乱亚洲高清| 亚洲综合小说| 婷婷综合五月| 一区免费在线| 合欧美一区二区三区| 亚洲一本视频| 婷婷色综合网| 99国产精品久久久久久久成人热| 久久精品播放| 99视频精品全国免费| 日韩不卡视频在线观看| 婷婷激情一区| 亚洲福利免费| 欧美日韩视频|