为什么我觉得使用策略只是将if / else推迟到工厂? 使用策略,工厂不需要确定实例化哪个具体类,而不是if / else吗?
另一种选择是以某种方式使用Map / List,并且键是要实例化的类的名称,并且可能使用名称中的Factory传递类?
答案 0 :(得分:1)
Map \ List是Factory模式的实现。
使用策略模式比if \ else更好,因为它创建了耦合代码。 使用Factory + Startegy,您可以在不触及客户端代码的情况下扩展处理算法,并有更多方法动态配置代码(重新编译)。