【发布时间】:2015-09-30 03:30:53
【问题描述】:
我有一个构建在 IoC 容器之上的小型系统。 该 IoC 容器能够通过使用反射(ReflectionClass、ReflectionMethod...)自动解析所请求类的依赖关系,并将这些依赖关系注入到类的构造函数中。
问题是我读过很多帖子说反射是一种非常缓慢的方法,每次运行都使用它是一种不好的做法。
因此,我想避免每次运行都使用反射,我的想法是缓存依赖项或请求的类。
我将缓存类的依赖关系和类代码的哈希版本,这样我就知道何时重新评估类的依赖关系(当类代码的哈希值与缓存的哈希值,换句话说,自上次评估依赖项以来代码已被修改)。
这是一个好方法还是我应该在每次运行时都坚持反思? 我主要担心这种方法是否有助于优化系统性能,还是只会减慢系统性能?
谢谢, 阿里克
【问题讨论】:
标签: php caching reflection dependency-injection inversion-of-control