任何人都可以准确解释战略模式如何与控制反转相关吗?任何人都可以解释战略模式如何与控制反转相关吗?
3
A
回答
6
当您使用策略模式时,您希望其他类依赖于接口而不是具体的策略。做到这一点的一种方法是将具体策略注入到一个将它用作界面的类中,而不是让班级理解如何创建适当的策略。这是IoC /依赖注入的地方。
这个想法可能是你有某种配置或决策类来定义使用哪种策略。这可能是一个IoC框架,但它不一定非要。该类负责根据系统状态或配置使用适当策略配置其他类。具体策略是通过构造函数或属性设置器创建和注入的,因此对实例化策略类的“控制”是“倒置的” - 它不是由类取决于它而是从外部完成的。
2
它本身并没有引入控制反转。如果模式的开发者实现它,以便可交换算法被注入到控制器中,那么就是反转。另一方面,如果实现者从其他某个源获得算法(如配置,或者通过其他方法在控制器的构造函数中确定它),那么这只是您的普通型的代码。
0
没有国际奥委会是一个不同的东西放在一起,你可以阅读更多关于IOC和DI这里得到最高的实际想法
-1
IOC可以被看作是一个主要的(结束),可以是使用战略模式(手段)作为服务协商者模式可能是另一种选择。
相关问题
- 1. 任何人都可以解释OAuth吗?
- 2. 任何人都可以解释python的相对导入吗?
- 3. 任何人都可以解释我StandardScaler?
- 4. 任何人都可以解释“视场”
- 5. 任何人都可以解释输出
- 6. 任何人都可以为我解释这个ACL模式
- 7. 任何人都可以解释以下语句的输出吗?
- 8. 任何人都可以解释下面的代码吗?
- 9. 任何人都可以解释我这个代码行吗?
- 10. 任何人都可以解释下面的代码吗?
- 11. 任何人都可以在C中解释这个结构吗?
- 12. 任何人都可以解释默认括号的含义吗?
- 13. 任何人都可以解释这种语法吗?
- 14. 任何人都可以解释UriMatcher(Android SDK)吗?
- 15. 任何人都可以向Entity Framework生命周期解释吗?
- 16. 任何人都可以解释我这个javax swing方法吗?
- 17. Lua任何人都可以解释这是什么吗?
- 18. Javascript:任何人都可以解释我这段代码吗?
- 19. C编程,任何人都可以解释这一点吗?
- 20. 任何人都可以解释我的这段代码吗?
- 21. 任何人都可以请解释下面一段Flash ActionScript吗?
- 22. 任何人都可以用英语向我解释这个吗?
- 23. 任何人都可以解释服务setForeground方法吗?
- 24. 任何人都可以解释一下微软的CDN吗?
- 25. 任何人都可以解释这段代码吗?
- 26. 任何人都可以解释这个程序的输出吗?
- 27. 任何人都可以用示例解释string.compare(_:options:range:locale :)吗?
- 28. 任何人都可以解释我这个功能吗?
- 29. 任何人都可以帮助解释这个吗?
- 30. Java Puzzler - 任何人都可以解释这种行为吗?
究竟是什么意思大声笑.. – brumScouse 2011-11-03 13:57:51