设计模式(Python语言)----建造者模式(设计模式python实现)

网友投稿 294 2022-08-23


设计模式(Python语言)----建造者模式(设计模式python实现)

更多信息请参考 【设计模式】

建造者模式含义

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

建造者模式中的角色

抽象建造者(Builder)具体建造者(Concrete Builder)指挥者(Director)产品(Product)

建造者模式优点

隐藏了一个产品的内部结构和装配过程将构造代码与表示代码分开可以对构造过程进行更精细的控制

建造者模式实例

代码如下:

import abcclass Player(object): def __init__(self,face=None,body=None,arm=None,leg=None): self.face=face self.body=body self.arm=arm self.leg=leg def __str__(self): return f"{self.face},{self.body},{self.arm},{self.leg}"class PlayerBuilder(metaclass=abc.ABCMeta): @abc.abstractmethod def build_face(self): pass @abc.abstractmethod def build_body(self): pass @abc.abstractmethod def build_arm(self): pass @abc.abstractmethod def build_leg(self): passclass SexGirlBuilder(PlayerBuilder): def __init__(self): self.player=Player() def build_face(self): self.player.face="漂亮脸蛋" def build_body(self): self.player.body="苗条" def build_arm(self): self.player.arm="漂亮胳膊" def build_leg(self): self.player.leg="大长腿"class Monster(PlayerBuilder): def __init__(self): self.player=Player() def build_face(self): self.player.face="怪兽脸蛋" def build_body(self): self.player.ody="怪兽" def build_arm(self): self.player.arm="怪兽胳膊" def build_leg(self): self.player.leg="怪兽腿"class PlayDirector(object): def build_player(self,builder): builder.build_body() builder.build_face() builder.build_arm() builder.build_leg() return builder.playerif __name__=="__main__": builder=SexGirlBuilder() director=PlayDirector() p=director.build_player(builder) print(p)

执行结果如下:

漂亮脸蛋,苗条,漂亮胳膊,大长腿


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:设计模式(Python语言)----简单工厂模式(python的工厂模式)
下一篇:Java集合框架之Map详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~