class AbstractInterface(ABC):
"""
тот самый абстрактный интерфейс,
который нужен потому что интерфейсов
может быть много а их методы сильно похожи
"""
@abstractclassmethod
def out():
raise NotImplementedError
class ConsoleInterface(AbstractInterface): # класс наследник абстрактного интерфейса
@classmethod
def out(user: User):
return {'name': user.name, 'surname': user.surname}
有这样的用例。它提供了一些功能
class UserActions:
def __init__(self, user: dict) -> None:
self.user = user
def say(self, text):
print(f"{self.user['name']} says: {text}")
这本书我也看过一遍。我不会假装有一个完美的答案,但至少我想分享我的愿景。
默认接口是抽象的,因为接口不是系统的稳定部分(今天我们在控制台应用程序中工作,明天将发布桌面应用程序。但是,它们的功能是相同的)
无疑
抓住:
假设有这样一个实体
我们有一个控制器,它以某些提供某种数据结构的类实例的形式响应和传输数据
我没有走得太远,制作了一个将数据转换为所需形式的接口(在我们的例子中,只是一个字典)
有这样的用例。它提供了一些功能
所有这一切的实现如下所示:
我希望我正确理解你的问题