我已经开始在我的项目上申请SOLID principles分.所有这些对我来说都很清楚,除了依赖项反转,因为在Python中,在另一个类(或者我不知道)中的某个类的类型中定义变量并没有变化.所以我已经用两种形式实现了依赖倒置原理,我想知道哪一种是正确的,我怎样才能纠正它们.以下是我的代码:
d1.py
:
class IFood:
def bake(self, isTendir: bool): pass
class Production:
def __init__(self):
self.food = IFood()
def produce(self):
self.food.bake(True)
class Bread(IFood):
def bake(self, isTendir:bool):
print("Bread was baked")
d2.py
:
from abc import ABC, abstractmethod
class Food(ABC):
@abstractmethod
def bake(self, isTendir): pass
class Production():
def __init__(self):
self.bread = Bread()
def produce(self):
self.bread.bake(True)
class Bread(Food):
def bake(self, isTendir:bool):
print("Bread was baked")