任何人都可以解释工厂模式和策略模式之间的区别吗?
对我来说,除了一个额外的工厂类(在工厂模式中创建一个产品对象)之外,两者看起来都一样
原文由 Sap_vr 发布,翻译遵循 CC BY-SA 4.0 许可协议
任何人都可以解释工厂模式和策略模式之间的区别吗?
对我来说,除了一个额外的工厂类(在工厂模式中创建一个产品对象)之外,两者看起来都一样
原文由 Sap_vr 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
工厂模式是一种创建型模式。策略模式是一种操作模式。换句话说,工厂模式用于创建特定类型的对象。策略模式用于以特定方式执行一个操作(或一组操作)。在经典示例中,工厂可能会创建不同类型的动物:狗、猫、老虎,而策略模式会执行特定的动作,例如移动;使用跑步、步行或 Lope 策略。
其实两者是可以一起使用的。例如,您可能有一个创建业务对象的工厂。它可能会根据持久性介质使用不同的策略。如果您的数据以 XML 的形式存储在本地,它将使用一种策略。如果数据在不同的数据库中是远程的,它会使用另一个。