工厂方法(Factory Method)模式

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


话不多说 上代码~~~

##抽象产品接口
public interface Light {

    public void turnOn();

    public void turnOff();
    
}
##产品的实现
public class BuldLight implements Light{

    public void turnOn() {
        System.out.println("BuldLight On");    
    }

    public void turnOff() {
        System.out.println("BuldLight Off");    
    }

}
##产品B的实现
public class TubeLight implements Light{

    public void turnOn() {
        System.out.println("TubeLight On");    
    }

    public void turnOff() {
        System.out.println("TubeLight Off");    
    }

}
##抽象工厂接口
public interface Creator {

    public Light createLight();
}

##实现产品类型
public class BuldCreator implements Creator{

    public Light createLight() {
        return new BuldLight();
    }

}

public class TubeCreator implements Creator{

    public Light createLight() {
        return new TubeLight();
    }

}

##测试
public class Client {

    public static void main(String[] args) {
    //创建一个工厂
        Creator creator = new BuldCreator();
        //调用创建方法 创建出对象
        Light light = creator.createLight();
        light.turnOn();
        light.turnOff();
        
        creator = new TubeCreator();
        light = creator.createLight();
        light.turnOn();
        light.turnOff();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 9,398评论 1 15
  • 【学习难度:★★☆☆☆,使用频率:★★★★★】直接出处:工厂方法模式梳理和学习:https://github.co...
    BruceOuyang阅读 3,821评论 0 2
  • 设计原则: 要依赖抽象,不要依赖具体类 目录 本文的结构如下: 什么是工厂方法模式 为什么要用该模式 模式的结构 ...
    w1992wishes阅读 5,185评论 0 6
  • 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。通常我们所说的工厂模式是指工厂方法模...
    zfylin阅读 5,124评论 0 7
  • 她是有丁香一样的颜色, 丁香一样的的芬芳, 丁香一样的忧愁…… 提起格格,不知为什么,我脑...
    臣本布衣墨阅读 1,441评论 0 4

友情链接更多精彩内容