我想知道在实现策略设计模式时使用委托(delegate)与OOP有什么优缺点?您建议使用哪一个?或代表要解决什么样的问题?如果OOP更好,为什么还要使用OOP?谢谢!-tep 最佳答案 两种技术都是强大而有值(value)的-这是我对何时使用哪种技术的一些看法。策略在以下情况下使用接口(interface)/实现方法:维护状态需要配置使用依赖项注入(inject)需要由IoC容器(认为ConnectionProvider)配置结合了多种职责(从ADO.NET中考虑DataAdapter)太复杂或太长,只要使用单个方法可能会被子类化以创建新策略需要将状态信息返回给调用方需要访问该对象的内部,适用于将需要太多直接参数否则,倾向于使用基于Func 或Action 的委托(delegate),尤其是在可能有各种各样的策略(认为排序表达式)该策略最好表示为lambda 有您想利用的现有方法关于c# - 代表与OOP的C#策略设计模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/984050/ 10-16 20:33