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 ElementTree 基本读操作示例
Apr 09 Python
用PyQt进行Python图形界面的程序的开发的入门指引
Apr 14 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
Django中的文件的上传的几种方式
Jul 23 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
pytorch下大型数据集(大型图片)的导入方式
Jan 08 Python
python爬取王者荣耀全皮肤的简单实现代码
Jan 31 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
May 13 Python
Flask搭建一个API服务器的步骤
May 28 Python
Python装饰器详细介绍
Mar 25 Python
python如何读取和存储dict()与.json格式文件
Jun 25 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下通过伪造http头破解防盗链的代码
2010/07/03 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
Maps Javascript
2007/01/22 Javascript
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
js数组的操作指南
2014/12/28 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
JS+CSS相对定位实现的下拉菜单
2015/10/06 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
由面试题加深对Django的认识理解
2019/07/19 Python
python同步两个文件夹下的内容
2019/08/29 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
Python识别验证码的实现示例
2020/09/30 Python
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
医学类导师推荐信范文
2013/11/19 职场文书
岗位竞聘演讲稿
2014/01/10 职场文书
给朋友的道歉短信
2015/05/12 职场文书
婚宴来宾致辞
2015/07/28 职场文书
Python 键盘事件详解
2021/11/11 Python
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技