JAVA基础23种设计模式----工厂模式--MonkeyKing

JAVA基础23种设计模式----工厂模式--MonkeyKing

工厂方法模式同样属于类的创建模式又被称为多台工厂模式。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具工厂角色的情况下引进新的产品。

  • 抽象工厂(Creator)
    • 工厂方法模式的核心,任何工厂类都必须实现设个接口。
  • 具体工厂(creator create)
    • 具体工厂类是抽象工厂的一个实现,负责实例化产品对象。
  • 抽象(product)
    • 工厂方法模式所创建的所有对象的父类,它负责描述所有实例所共有的接口。
  • 具体产品(concrete product)
    • 工厂方法模式所创建的具体实例对象

具体实现

抽象工厂

public interface FruitFactory {
    Fruit getFruit();
}

具体工厂

public class AppleFactory implements FruitFactory {

    @Override
    public Fruit getFruit() {
        
        return new Apple();
    }
    
}
//===========================================
public class BananaFactory implements FruitFactory {

    @Override
    public Fruit getFruit() {
        return new Banana();
    }

}

抽象

public interface Fruit {
    void get();
}

具体产品

public class Apple implements Fruit {
    public void get() {
        System.out.println("get apple");
    }
}
//===========================================

public class Banana implements Fruit {
    public void get() {
        System.out.println("get banana");
    }
}

实现

public class MainClass {

    public static void main(String[] args){
        FruitFactory appleFactory = new AppleFactory();
        Fruit apple = appleFactory.getFruit();
        apple.get();
        
        FruitFactory bananaFactory = new BananaFactory();
        Fruit banana = bananaFactory.getFruit();
        banana.get();
        
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容