工厂方法模式

工厂方法模式指定义一个创建对象的接口,让接口的实现类决定创建哪种对象,让类的实例化推迟到子类中进行。

也就是,先给一个抽象类的工厂类(里面有一个创建实例的抽象方法),然后再由具体的工厂类继承这个抽象工厂类,实现该抽象方法(在方法里面创建特定的实例),不同的具体工厂类创建的实例不同,这样就更符合开闭原则。

客户端只需关心对应工厂而无需关心创建细节,主要解决了产品扩展的问题,在简单工厂模式中如果产品种类变多,工厂的职责会越来越多,不便于维护。

  • Collection 接口这个抽象工厂中定义了一个抽象的 iterator 工厂方法,返回一个 Iterator 类的抽象产品。该方法通过 ArrayList 、HashMap 等具体工厂实现,返回 Itr、KeyIterator 等具体产品。

  • Spring 的 FactoryBean 接口的 getObject 方法也是工厂方法。

工厂方法模式(Factory Method)-最易懂的设计模式解析

posted @ 2022-05-03 22:29  张三丰学Java  阅读(53)  评论(0编辑  收藏  举报