知识卡片

工厂方法模式的四类适用场景

普通读书笔记卡 · 1853.a.2

内容

应用[[工厂方法模式的定义与命令简化原理]]的四类场景:作为new的替代品(需权衡是否值得); 需要灵活可扩展框架时把多种实现定义成产品类;异构项目集成,把外部系统交互对象统一交工厂 管理;TDD中虚拟未完成的依赖类(已被Mock工具部分替代)。发散:不是所有”new对象”都值得 包装成工厂,多一层工厂类本身也是复杂度。

参考来源

- 位置:《设计模式之禅(第2版)》第8章《工厂方法模式》(源文件:_epub-src/text/part0035.html) - 结论依据:原文列出四类使用场景:new的替代品、灵活可扩展的框架(以邮件协议连接框架为例)、异构项目集成(WebService场景)、测试驱动开发中虚拟依赖对象,并说明最后一类场景已被JMock/EasyMock弱化。 - 原始内容:工厂方法模式是new一个对象的替代品……需要灵活的、可扩展的框架时,可以考虑采用工厂方法模式……工厂方法模式可以用在异构项目中……可以使用在测试驱动开发的框架下……目前由于JMock和EasyMock的诞生,该使用场景已经弱化了。