【发布时间】:2011-09-18 09:14:42
【问题描述】:
【问题讨论】:
-
如果两者都可能,那么问题的范围太小了。
-
@Neil G:这是一个人为的问题,因为没有足够的约束来做出选择,所以有很多选择是可能的。
-
@S.Lott:我明白你在说什么。郑重声明,它不是“人为的”——它是一段真实的代码,它让我开始思考软件设计,我想了解其他人如何看待装饰器和继承之间的选择。来自 C++ 背景,我没有经常做出这个选择。无论如何,感谢您关于缺乏约束的观点。这是一个很好的观点。
-
@Neil G:实际上 mouad 在stackoverflow.com/questions/6394511/… 的解决方案很好;他和我的工作方式是将装饰器重新定义为“卫生装饰器 v2.0”,以便在应用装饰器 v2.0 时,它会做它应该做的事情(记忆),但也确保像 @ 这样的特殊属性987654323@被转移。两者之间的唯一区别是他用一个类替换了
memoize(...)装饰器,而我的用一个函数替换了它。差别不大。 -
@ninjagecko:是的,我想通了。想到装饰器并保持一切正常对我来说仍然很奇怪。
标签: python inheritance decorator mixins