属性依赖注入:挑战和更好的解决方案
将依赖项直接注入属性会带来很大的困难,因为公共语言运行时 (CLR) 管理它们的实例化。 这也适用于属性注入,造成紧密耦合并使代码变得脆弱。
此类做法可能会干扰依赖项注入容器验证,使框架缓存机制复杂化,并导致紧密耦合的依赖项,从而增加出现错误的可能性。
因此,最好避免属性内的依赖注入。
高级替代品:
被动属性(分离数据和行为):
卑微的对象(逻辑提取):
建议方法:
选项 1,分离数据和行为,通常会带来更简洁的设计和更广泛的适用性。 然而,选项 2 在某些情况下提供了更实用的解决方案。
以上是您应该将依赖项注入属性吗?的详细内容。更多信息请关注PHP中文网其他相关文章!