工廠模式在創(chuàng)建對(duì)象時(shí)不會(huì)對(duì)客戶端暴露創(chuàng)建邏輯,并且是通過(guò)使用一個(gè)共同的接口來(lái)指向新創(chuàng)建的對(duì)象
定義:定義一個(gè)創(chuàng)建對(duì)象的接口,讓其子類(lèi)自己決定實(shí)例化哪一個(gè)工廠類(lèi),工廠模式使其創(chuàng)建過(guò)程延遲到子類(lèi)進(jìn)行
意義:為了解決接口選擇的問(wèn)題
關(guān)鍵:創(chuàng)建過(guò)程在子類(lèi)中進(jìn)行
代碼實(shí)現(xiàn)
class Car:
@abstractmethod
def driver(self):
pass
class Benz(Car):
def driver(self):
print("This is a Benz car~!")
class BMW(Car):
def driver(self):
print("This is a BMW car~!")
class CarFactory():
@staticmethod
def get_car(car_name):
if car_name == "Benz":
return Benz()
elif car_name == "BMW":
return BMW()
return None