#!/usr/bin/python
# -*- coding: UTF-8 -*-

#工厂设计模式
'''
date:2016/8/21
'''

#形状接口
class Shape(object):def __init__(self):pass
   def draw(self):pass
#长方形
class Retangle(Shape):def draw(self):print "Retangle..."
      return "Retangle..."
#正方形
class Square(Shape):def draw(self):print "Square..."
      return "Square..."

#获取形状的工厂
class ShapeFactory():def getShape(self,name):if name == None:return None
      elif "Retangle" in name:return Retangle()elif "Square" in name:return Square()else:return None

if __name__ == '__main__':#1.获取工厂
   ShapeFactory=ShapeFactory()#2.从工厂中获取对象
   shape=ShapeFactory.getShape("Square")#3.运行方法
   shape.draw()#运行结果:Square...

工厂设计模式----python版本相关推荐

  1. 设计模式----python版本

    写的比较好的:http://www.cnblogs.com/wuyuegb2312/archive/2013/04/09/3008320.html 比较全的:http://www.pythontip. ...

  2. python 工厂设计模式

    一.对工厂设计模式的理解 在现实生活中,工厂是用于生产产品的,我们告诉工厂,我们需要什么样的产品,工厂就会生产出该产品,我们无需知道该产品到底是怎么生产的.在python中也是一样的,我们只需要调用工 ...

  3. 工厂设计模式(java版本、spring源码中使用的工厂模式)

    最近在学习spring源码,发现在IoC容器初始化的时候创建各种bean,然后在代码中看到各种beanFactory和factoryBean,很显然spring容器在创建bean的过程是使用了工厂设计 ...

  4. 大话设计模式--Python

    作者:五岳  出处:http://www.cnblogs.com/wuyuegb2312 上一周把<大话设计模式>看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多.偶尔会用到 ...

  5. cmd查看python版本-在cmd中查看python的安装路径方法

    我相信一定有很多的人跟我一样,经常忘记Python安装的路径,每当用到的时候,最笨的办法就是在全局电脑里,直接查找Python,这样是肯定能查到的,但是如果你的电脑文件超级多,这将是一个工厂量很大的事 ...

  6. python简单工厂模式_简单工厂模式-python语言实现

    abstractoperation.py                           //抽象操作类 代码如下: import string class Operation(object): ...

  7. scala设计模式_Scala中的工厂设计模式

    scala设计模式 I'm going to deliver a series of Scala Design Patterns in my coming posts. I will pick-up ...

  8. guido发布python版本的年份_Guido van Rossum

    [单选题]以下常量的定义,合法的是 . [判断题]主题选择是整个采访的灵魂. [填空题]地下工程泛指建造在地面以下土层或岩层中的各种 与设施,是地层中所建工程的总称. [单选题]0.048657168 ...

  9. 设计模式—工厂设计模式

    工厂设计模式 1.概述 2.简单工厂模式 2.1 结构 2.2 实现 2.3 优缺点 2.4 扩展 3.工厂方法模式 3.1 概述 3.2 结构 3.3 实现 3.4 优缺点 4.抽象工厂模式 4.1 ...

最新文章

  1. 汇编: 用int中断改变ip,实现loop循环
  2. 全球及中国衣柜香氛市场投资份额与营销潜力研究报告2022版
  3. python 使用dir() help() 查看一个对象所有拥有的方法和属性
  4. 11.6 mpstat:CPU信息统计
  5. 九齐51单片机使用注意事项:不要用float
  6. 关于爬虫中常见的两个网页解析工具的分析 —— lxml / xpath 与 bs4 / BeautifulSoup...
  7. surfaceView和View区别
  8. 中根遍历二叉查找树所得序列一定是有序序列_数据结构考研学习笔记(九)树、森林...
  9. gc日志一般关注什么_JVM(23)JVM的Full GC日志
  10. vb软件使用时间限制_GTD时间管理软件Wunderlist使用心得总结
  11. NSIS nsDialogs 插件
  12. vue css下载字体并引入使用
  13. 三、EasyExcel实现数据填充
  14. 解析 Github 的默认头像
  15. 在 SQL 中计算总行数的百分比
  16. 如何 接收消息服务器url,(读书笔记)网络是怎样连接的——浏览器生成消息...
  17. scaling之旅_【scaling】什么意思_英语scaling的翻译_音标_读音_用法_例句_在线翻译_有道词典...
  18. 收藏 40 2 CPD (广告合作方式)
  19. 如何给win11安装安卓应用
  20. 照片怎么无损放大?这样做只需三个步骤

热门文章

  1. Python里面对于嵌套列表的查询
  2. 部署LAMP论坛平台(Linux,Apache,MySQL,PHP)
  3. linux环境下ntp客户端,多种操作系统NTP客户端配置
  4. shell脚本每日一练(一)
  5. 从实验室到山寨,技术发展的普遍道路
  6. pxe安装系统 ip获取错误_【图说】消防系统安装典型错误举例
  7. 华硕vm510l拆电池图解_图解说设备:凯斯CX80C你会买吗?
  8. python3 json解析_Python3 JSON编码解码方法详解
  9. oracle触发器不允许修改数据库,Oracle数据库使用触发器记录表数据修改记录
  10. python回测工具_Python爬虫回测股票的实例讲解