问题标签 [zope.interface]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ABC 还是 zope.interface?
我有这个代码:
我没有在 DekstopApp 中编写所需的函数,它必须引发错误。
但是这段代码有效。
但是当我使用 abc 模块时,如果我没有编写所需的方法,我会得到一个错误。
我应该使用 abc 还是 zope.interface?
interface - Python3.8 类型协议:适配器注册表有什么标准吗?
zope.interface 有(除其他外)运行时适配器注册表,允许在运行时找到某些接口的合适实现。
现在,python3.8支持结构子类型,但问题是:是否有任何标准库机制来实现至少一些开箱即用的原始运行时适应?换句话说,有一些实例animal
和接口IFlying
,是否可以查找适配器IFlying(animal)
?还是typing.Protocol
纯粹用于类型检查?
这个问题的动机是:继续在新代码中使用是否有意义zope.interface
,或者打字。协议很快就会过时(至少对于简单的适配器情况)?
我可以看到这样的意见,暗示存在一些标准接口支持,但找不到关于如何用 Python3.8 或更新的标准库替换适配器注册表的具体示例(缺少在其之上编写一些库) .
注意:我知道用什么来替换 python 中的接口/协议,但我的问题特别是关于如何使适应(甚至是多适配器)成为可能。
python - Django 中的 Zope.interface
我来自 Java 背景,现在正在开发 django 应用程序。如果我的方向错误,需要您的意见。
我正在尝试在我的 Django 应用程序中实现 zope.interface.Interface 并尝试实现 Java 中的接口,但如果实现者类没有提供接口中所有方法的定义,它不会引发任何错误。
这是我的示例实现。
请帮助我找出我做错了什么以及您的友好指导。
谢谢,