Python实现的建造者模式示例


Posted in Python onAugust 06, 2018

本文实例讲述了Python实现的建造者模式。分享给大家供大家参考,具体如下:

#!/usr/bin/python
# -*- coding:utf-8 -*-
#建造者基类
class PersonBuilder():
  def BuildHead(self):
    pass
  def BuildBody(self):
    pass
  def BuildArm(self):
    pass
  def BuildLeg(self):
    pass
#胖子
class PersonFatBuilder(PersonBuilder):
  type = u'胖子'
  def BuildHead(self):
    print u'构建%s的头' % self.type
  def BuildBody(self):
    print u'构建%s的身体' % self.type
  def BuildArm(self):
    print u'构建%s的手' % self.type
  def BuildLeg(self):
    print u'构建%s的脚' % self.type
#瘦子
class PersonThinBuilder(PersonBuilder):
  type = u'瘦子'
  def BuildHead(self):
    print u'构建%s的头' % self.type
  def BuildBody(self):
    print u'构建%s的身体' % self.type
  def BuildArm(self):
    print u'构建%s的手' % self.type
  def BuildLeg(self):
    print u'构建%s的脚' % self.type
#指挥者
class PersonDirector():
  pb = None;
  def __init__(self, pb):
    self.pb = pb
  def CreatePereson(self):
    self.pb.BuildHead()
    self.pb.BuildBody()
    self.pb.BuildArm()
    self.pb.BuildLeg()
def clientUI():
  pb = PersonThinBuilder()
  pd = PersonDirector(pb)
  pd.CreatePereson()
  pb = PersonFatBuilder()
  pd = PersonDirector(pb)
  pd.CreatePereson()
  return
if __name__ == '__main__':
  clientUI();

运行结果:

构建瘦子的头
构建瘦子的身体
构建瘦子的手
构建瘦子的脚
构建胖子的头
构建胖子的身体
构建胖子的手
构建胖子的脚

更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
使用Python下载Bing图片(代码)
Nov 07 Python
python生成随机验证码(中文验证码)示例
Apr 03 Python
Python中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
Python中使用HTMLParser解析html实例
Feb 08 Python
Python基于DES算法加密解密实例
Jun 03 Python
简析Python的闭包和装饰器
Feb 26 Python
python中defaultdict的用法详解
Jun 07 Python
python中dict使用方法详解
Jul 17 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
解决Django Static内容不能加载显示的问题
Jul 28 Python
pytorch打印网络结构的实例
Aug 19 Python
django 解决扩展自带User表遇到的问题
May 14 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 #Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 #Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 #Python
Django添加sitemap的方法示例
Aug 06 #Python
python中scikit-learn机器代码实例
Aug 05 #Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
Aug 05 #Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 #Python
You might like
PHP抓取及分析网页的方法详解
2016/04/26 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
Python3常用内置方法代码实例
2019/11/18 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
Myprotein葡萄牙官方网站:英国优质运动营养品牌
2016/09/12 全球购物
世界领先的高品质定制产品平台:Zazzle
2017/07/23 全球购物
护士试用期自我鉴定
2014/02/08 职场文书
主题婚礼策划方案
2014/02/10 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
文体活动实施方案
2014/03/27 职场文书
学生保证书范文
2014/04/28 职场文书
年终工作总结范文2014
2014/11/27 职场文书
店面出租协议书范本
2014/11/28 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
Android中的Launch Mode详情
2022/06/05 Java/Android
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers