相关疑难解决方法(0)

Python 中的依赖倒置

我已经开始将SOLID 原则应用到我的项目中。所有这些对我来说都很清楚,除了依赖倒置,因为在 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")
Run Code Online (Sandbox Code Playgroud)

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")
Run Code Online (Sandbox Code Playgroud)

python oop dependency-injection python-3.x solid-principles

8
推荐指数
2
解决办法
3058
查看次数

python语言中有些东西类似于Java或C++中的接口吗?

我曾经习惯使用Java或C++编程,两者都有'接口'机制.在一些面向对象编程和设计模式的书中,经常提到界面.

Python中的接口有什么类似的东西吗?

python oop design-patterns

6
推荐指数
0
解决办法
3299
查看次数