假设我有一个像下面这样的模块
class B:
def ...
def ...
class A:
b: B
def ...
def ...
我只使用B类作为A类的成员变量
当我尝试为我的业务逻辑抽象这个模块时,我应该怎么做?
- 一个大接口,其中有A类和B类的抽象方法
- 两个接口,分别有A类和B类的抽象方法
- 以上都是错误的。另一种方式
假设我有一个像下面这样的模块
class B:
def ...
def ...
class A:
b: B
def ...
def ...
我只使用B类作为A类的成员变量
当我尝试为我的业务逻辑抽象这个模块时,我应该怎么做?
1 和 2 都是正确的方法,但这完全取决于您的应用程序。
我认为,当您的两个类具有独立的工作方式并且彼此完全不同时,两个接口分别具有类 A 和类 B 的抽象方法是正确的方法。
但是,正如您在代码中提到的,您在类 A 中继承了类 B。如果为类 A 创建单个接口,它还允许您访问类 B 中的方法。因此,这种方法是好的。此外,这种方法会缩短您的代码长度,从而加快处理速度。
我希望这能帮助您做出决定。如果需要任何其他说明,请告诉我。