定义:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。由产品类的具体类来决定,将要实例化哪一个产品类。
优点:
- 良好的封装性,代码结构清晰。要创建一个产品只需要知道产品类的名字,不需要了解产品类的具体实现。
- 良好的扩展性。要添加一个新的产品,只需要继承抽象产品类就可以了。
- 屏蔽了产品类。将产品的具体实现与调用者本身隔离起来。
应用场景:
- 工厂方法模式是“new”的替代品,在使用到“new”的时候都可以用,但要避免代码的复杂度,不要过度使用。
- 需要有灵活的可扩展框架时,可以考虑采用工厂方法模式。
- 工厂方法模式可以用在异构项目中。
- 可以使用在测试驱动开发的框架下。
代码:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。