华山练剑
建造者模式抽象出了建造过程,继承Builder可以重写具体过程函数,Director类定义了具体过程的先后次序。
小试牛刀
class HuaShanBuilder:
#练气
def lianQi(self):
pass
#练剑
def lianJian(self):
pass
#闯荡江湖
def chuangDangJiangHu(self):
pass
#director 岳不群(华山派气宗的掌门人)
class YueBuQue:
#教弟子
def JiaoDiZi(self,huaShanBuilder):
huaShanBuilder.lianQi()#气宗核心是练气
huaShanBuilder.lianJian()
huaShanBuilder.chuangDangJiangHu()
#director 封不平(华山派剑宗的掌门人)
class FengBuPing:
def JiaoDiZi(self,huaShanBuilder):
huaShanBuilder.lianJian()#剑宗核心是练剑
huaShanBuilder.lianQi()
huaShanBuilder.chuangDangJiangHu()
class LingHuChong(HuaShanBuilder):
def lianQi(self):
print("练习XXX上乘气功")
def lianJian(self):
print("练习风清扬老先生的独孤九剑")
def chuangDangJiangHu(self):
print("结识桃谷六仙")
#弟子
class Dizi(HuaShanBuilder):
def lianQi(self):
print("紫霞神功")
def lianJian(self):
print("华山剑法")
def chuangDangJiangHu(self):
print("杀毛贼")
yueBuQue=YueBuQue ()
yueBuQue.JiaoDiZi(Dizi())
fengBuPing=FengBuPing()
fengBuPing.JiaoDiZi(Dizi())
故事会
XXX,后续更新

本文通过华山派的练气、练剑及闯荡江湖的故事,形象地阐述了建造者模式在程序设计中的应用。展示了如何通过Director类定义建造过程的次序,以及Builder类的灵活性。

被折叠的 条评论
为什么被折叠?



