新聞中心
這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)Python教程:python建造者模式是什么
說明

成都創(chuàng)新互聯(lián)是一家專注網站建設、網絡營銷策劃、微信小程序定制開發(fā)、電子商務建設、網絡推廣、移動互聯(lián)開發(fā)、研究、服務為一體的技術型公司。公司成立十年以來,已經為上1000+成都軟裝設計各業(yè)的企業(yè)公司提供互聯(lián)網服務。現(xiàn)在,服務的上1000+客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
1、屬于創(chuàng)建型模式,提供了創(chuàng)建對象的最佳方式。
2、該模式使用多個簡單的對象逐步構建復雜的對象,Builder類逐步構建最終對象,該Builder類獨立于其他對象。
由各部分的子對象用一定的算法構成,因為需求的變化,該復雜對象的各部分經常面臨劇烈的變化,但結合起來的算法相對穩(wěn)定。
實例
class Item:
# Item類提供水果的基礎信息的抽象類
def set_name(self):
pass
def packing(self):
pass
def set_price(self):
pass
def set_weight(self):
pass
def promotion_price(self):
pass
class Pack:
# Pack管理水果的包裝方式
def pack(self):
pass
class box_pack(Pack):
# box-pack采用盒裝方式
def pack(self):
return "盒裝"
class bag_pack(Pack):
# bag-pack采用袋裝方式
def pack(self):
return "袋裝"
class Grape(Item):
# 葡萄類
def packing(self):
wrap = box_pack()
return wrap
def set_price(self):
grape_price = 18.0
return grape_price
def set_name(self):
grape_name = "葡萄"
return grape_name
def set_weight(self):
grape_weight = 2.5
return grape_weight
def promotion_price(self):
return 28.99
class Hami_Melon(Item):
# 哈密瓜類
def packing(self):
wrap = bag_pack()
return wrap
def set_price(self):
hami_melon_price = 22.0
return hami_melon_price
def set_name(self):
hami_melon_name = "哈密瓜"
return hami_melon_name
def set_weight(self):
hami_melon_weight = 3.2
return hami_melon_weight
def promotion_price(self):
return 39.99
class Orange(Item):
# 橘子大類
def packing(self):
wrap = bag_pack()
return wrap
def set_price(self):
pass
class Citrus(Orange):
# 柑橘類
def set_price(self):
citrus_price = 12.5
return citrus_price
def set_name(self):
citrus_name = "柑橘"
return citrus_name
def set_weight(self):
citrus_weight = 2.6
return citrus_weight
def promotion_price(self):
return 18.88
class Tangerine(Orange):
# 冰橘類
def set_price(self):
tangerine_price = 13.0
return tangerine_price
def set_name(self):
tangerine_name = "冰橘"
return tangerine_name
def set_weight(self):
citrus_weight = 3.3
return citrus_weight
def promotion_price(self):
return 26.66
class Menu:
def __init__(self):
self.items = []
def AddItem(self, item):
# 添加item,即添加參與促銷活動的水果
self.items.append(item)
def ShowItems(self):
# ShowItem,展示參與促銷活動的水果清單
print("-*-" * 5 + "限時促銷清單" + "-*-" * 10)
for item in self.items:
print("◎Item:" + item.set_name() + " 包裝:" + item.packing().pack() + " 原價:" + str(
item.set_price()) + "元/千克" + " 重量:" + str(item.set_weight()) + "千克" + "\n 限時促銷價:" +
str(item.promotion_price()) + "元!!!")
print("-*-" * 5 + "限時促銷清單" + "-*-" * 10)
class MenuBuilder:
@staticmethod
def PrepareMenu():
# 構造清單,過程如下:
menu = Menu()
menu.AddItem(Grape())
menu.AddItem(Citrus())
menu.AddItem(Tangerine())
menu.AddItem(Hami_Melon())
return menu
if __name__ == '__main__':
# 新建一個建造者
menu_builder = MenuBuilder()
# 建造促銷活動的水果清單
menu_object = menu_builder.PrepareMenu()
# 展示參與促銷活動的水果信息
menu_object.ShowItems()
以上就是python建造者模式的介紹,希望對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
網頁名稱:創(chuàng)新互聯(lián)Python教程:python建造者模式是什么
分享地址:http://fisionsoft.com.cn/article/djijepg.html


咨詢
建站咨詢
