工厂模式
工厂模式(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()
原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/277188.html