关于Python的装饰器:

legs+之专栏 legs+之专栏 1462 人阅读 | 1 人回复 | 2021-04-25

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Python的装饰器和Java的注解(Annotation)并不是同一回事,和C#中的特性(Attribute)也不一样,完全是两个概念。
装饰器的理念是对原函数、对象的加强,相当于重新封装,所以一般装饰器函数都被命名为wrapper(),意义在于包装。函数只有在被调用时才会发挥其作用。比如@logging装饰器可以在函数执行时额外输出日志,@cache装饰过的函数可以缓存计算结果等等。
而注解和特性则是对目标函数或对象添加一些属性,相当于将其分类。这些属性可以通过反射拿到,在程序运行时对不同的特性函数或对象加以干预。比如带有Setup的函数就当成准备步骤执行,或者找到所有带有TestMethod的函数依次执行等等。


...

回答|共 1 个

legs+ 发表于 2021-4-25 20:49:18| 字数 79 | 显示全部楼层

Java的注解是来源于spring框架思想,因为Java本身是开源的,它只是提供了语言语法,他不像.NET那么闭环,更能发挥想象空间


...
通过,注解来实现映射
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则