设计模式之工厂模式

 工厂模式

  工厂模式(Factory Pattern)是 最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

  在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

 

  效果:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。

  适用性:

          当一个类不知道它所必须创建的对象的类的时候。

          当一个类希望由它的子类来指定它所创建的对象的时候。
          当类将创建对象的职责委托给多个子类中的某一个。

  实现如下:

 1 # # -*- coding:utf-8 -*-
 2 __author__ = "xiaomagua"
 3 
 4 class Shape(object):
 5     def draw(self):
 6         print("draw noting...")
 7 
 8 class Circle(Shape):
 9     def draw(self):
10         print("draw circle...")
11 
12 class Rectangle(Shape):
13     def draw(self):
14         print("draw rectangle...")
15 
16 
17 class ShapeFactory:
18     def get_shape(self, shape):
19         if shape == "Circle":
20             return Circle()
21         elif shape == "Rectangle":
22             return Rectangle()
23         else:
24             print("illegal parameter...")
25             return None
26 
27 shape_factory = ShapeFactory()
28 circle_obj= shape_factory.get_shape("Circle")
29 circle_obj.draw()
30 
31 rectangle_obj= shape_factory.get_shape("Rectangle")
32 rectangle_obj.draw()

 

posted @ 2022-07-26 22:29  一只小麻瓜  阅读(11)  评论(0编辑  收藏  举报