问题描述
zope.interface 具有(除其他外)运行时适配器注册表,允许在运行时找到某些接口的合适实现。
现在,python3.8 有 structural subtyping support,但问题是:是否有任何标准库机制来实现至少一些开箱即用的原始运行时适应?换句话说,有一些实例 animal
和一个接口 IFlying
,是否可以查找 IFlying(animal)
的适配器?还是 typing.Protocol
纯粹用于类型检查?
这个问题的动机是:在新代码中继续使用 zope.interface
是否有意义,或者 Typing.Protocol 很快就会过时(至少对于简单的适配器情况)?
我可以看到像 this 这样的意见,它暗示存在一些标准接口支持,但找不到关于如何用 python3.8 或更新的标准库替换适配器注册表的具体示例(缺少写作)一些图书馆在它之上)。
注意:我知道 What to use in replacement of an interface/protocol in python ,但我的问题特别是关于如何使适应(甚至多适配器)成为可能。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)