首页 > 代码库 > 简单工厂设计模式
简单工厂设计模式
意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。适用性: 当一个类不知道他所必须创建的对象的类的时候。 当一个类希望有他的子类来指定他所创建的对象的时候 当类将创建对象的职责委托给多个子类中的某一个。
class ShapeFactory(object): ‘‘‘工厂类‘‘‘ def getShape(self): return self.shape_nameclass Circle(ShapeFactory): def __init__(self): self.shape_name = "Circle" def draw(self): print(‘draw circle‘)class Rectangle(ShapeFactory): def __init__(self): self.shape_name = "Retangle" def draw(self): print(‘draw Rectangle‘)class Shape(object): ‘‘‘接口类,负责决定创建哪个ShapeFactory的子类‘‘‘ def create(self, shape): if shape == ‘Circle‘: return Circle() elif shape == ‘Rectangle‘: return Rectangle() else: return Nonefac = Shape()obj = fac.create(‘Circle‘)obj.draw()obj.getShape()
优点:用户不需要修改代码
缺点:当用户需要添加新的运算类的时候,不仅需新加运算类,还需要修改工厂类,违反了开放封闭原则
简单工厂设计模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。