用Python实现工厂模式

class CarFactory:

    '''用Python实现工厂模式'''

    def creatCar(self, car_name):

        if car_name == 'Benz':
            car = Benz()

        elif car_name == 'BMW':
            car = BMW()

        else:
            car = BYD()

        return car

class Benz:
    def __init__(self):
        print('奔驰产生了')

class BMW:
    def __init__(self):
        print('宝马产生了')

class BYD:
    def __init__(self):
        print('比亚迪产生了')

cf = CarFactory()

cf.creatCar('123')

cf.creatCar('Benz')

原文地址:https://www.cnblogs.com/python99/p/12311882.html

时间: 2024-11-10 14:16:33

用Python实现工厂模式的相关文章

python简单工厂模式解析

下面考虑<大话设计模式>中的一个例子: 题目:用任意一种面向对象语言实现一个计算器控制台程序.要求输入两个数和运算符号,得到结果. 题目分析: 程序应该做到:(1)可维护:(2)可复用:(3)可扩展:(4)灵活性好.可维护:就是说代码一处更改,不能产生连锁反应,不能影响其他地方.可复用:尽量减少重复性代码.可扩展:如果要扩展新的功能.新的业务,则只需要增加新的类就好了,不对已有的类和逻辑产生影响.插拔式的应用. 面向对象要点:面向对象三大特性:封装.继承.多态.通过封装.继承.多态把程序耦合降

Python实现工厂模式

from abc import ABCMeta, abstractmethod from enum import Enum class Person(metaclass=ABCMeta): @abstractmethod def get_name(self): raise NotImplementedError("You should implement this!") class Villager(Person): def get_name(self): return "V

Python 设计模式--简单工厂模式

简单工厂模式(Factory Pattern)是一种创建型的设计模式,像工厂一样根据要求生产对象实例. 特点:根据不同的条件,工厂实例化出合适的对象. <大话设计模式>中实例:四则运算计算器 代码: 1 #!/usr/bin/env python 2 #-*- coding: utf-8 -*- 3 4 class Operation: 5 def getResult(self): 6 pass 7 8 class OperationAdd(Operation): 9 def getResul

[python实现设计模式]-3.简单工厂模式

预备知识: 开放封闭原则(Open-Closed Principle OCP) Software entities(classes,modules,functions etc) should open for extension ,but close for modification. 所谓开放封闭原则就是软件实体应该对扩展开放,而对修改封闭.开放封闭原则是所有面向对象原则的核心. 软件设计本身所追求的目标就是封装变化,降低耦合,而开放封闭原则正是对这一目标的最直接体现. 对扩展开放,意味着有新

研磨设计模式解析及python代码实现——(一)简单工厂模式

最近在学设计模式,正巧书之前学了些python,但用的还不是很成熟.<研磨设计模式>书上只给了java代码,本着以练手为目标,我照着书上打了一遍java代码,在仔细体会其思想后,将其写成了python的代码.有不对的地方希望各位批评指正~ 具体原理不多做介绍,具体可以参考http://chjavach.iteye.com的博客,或者<研磨设计模式>的书. 一.背景介绍 接口思想: 众所周知,面向对象语言最大的特点便是封装,继承,多态这三个概念.而像Java等面向对象语言最核心的思想

Python设计模式——工厂方法模式(FactoryMethod)

需求:有一个学雷锋活动,有买米和扫地两个内容,参与的人有大学生和社区志愿者,他们各自的方法不一样. 如果用简单工厂模式实现: #encoding=utf-8 __author__ = '[email protected]' class LeiFeng(): def buy_rice(self): pass def sweep(self): pass class Student(LeiFeng): def buy_rice(self): print '大学生帮你买米' def sweep(self

[Python编程实战] 第一章 python的创建型设计模式1.1抽象工厂模式

注:关乎对象的创建方式的设计模式就是"创建型设计模式"(creational design pattern) 1.1 抽象工厂模式 "抽象工厂模式"(Abstract Factory Pattern)用来创建复杂的对象,这种对象由许多小对象组成,而这些小对象都属于某个特定的"系列"(family). 比如说,在GUI 系统里可以设计"抽象控件工厂"(abstract widget factory),并设计三个"具体子

python风格的抽象工厂模式

抽象工厂模式: 提供一个接口,用户创建多个相关或依赖对象,而不需要指定具体类. 原则: 依赖抽象,不依赖具体类. 实例: 用不同原材料制作不同口味的披萨,创建不同原材料的工厂,不同实体店做出口味不同的披萨.创建一个产品家族(Dough.Sauce.Cheese和Clam)的抽象类型(PizzaIngredientFactory),这个类型的子类(NYPizzaIngredientFactory和ChicagoPizzaIngredientFactory)定义了产品被产生的方法. 工厂模式和抽象工

python设计模式 之 简单工厂模式

简单工厂模式属于类的创建型模式,适合用来对大量具有共同接口的类进行实例化,它可以推迟到运行的时候才动态决定要创建哪个类的实例,而不是在编译时就必须知道要实例化哪个类. python: #!/usr/bin/env python # -*- coding: utf-8 -*- class Circle(object): def draw(self): print 'draw circle' class Rectangle(object): def draw(self): print 'draw R