工廠模式在創(chuàng)建對象時不會對客戶端暴露創(chuàng)建邏輯阐污,并且是通過使用一個共同的接口來指向新創(chuàng)建的對象
定義:定義一個創(chuàng)建對象的接口玄柠,讓其子類自己決定實例化哪一個工廠類突梦,工廠模式使其創(chuàng)建過程延遲到子類進行
意義:為了解決接口選擇的問題
關鍵:創(chuàng)建過程在子類中進行
代碼實現(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