22.JAVA编程之简单工厂模式

简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式使工厂模式家族中最简单实用的模式。
引入工厂模式之前:设计一个接口Product,有两个类Phone和Compute继承这个接口,然后在主类中实例化Phone,然后调用Phone类中的方法。
这样的设计导致:使用者被被使用者两者之间耦合,产生了依赖,当被使用者改变时会影响使用者
使用工厂模式来降低两者之间的依赖

public class Demo {

    public static void main(String[] args) {
        Product phone = new Phone();
        phone.work();
    }

}

interface Product{
    public void work();
}

class Phone implements Product{

    @Override
    public void work() {
        System.out.println("手机开始工作");
    }
}

class Compute implements Product{

    @Override
    public void work() {
        System.out.println("电脑开始工作");
    }
}

引入工厂模式之后:

public class Demo {

    public static void main(String[] args) {
        //使用者被被使用者两者之间耦合,产生了依赖,当被使用者改变时会影响使用者
        //使用工厂模式来降低两者之间的依赖
        Product phone = ProductFactory.getProduct("phone");
        if(null!=phone)
        {
            phone.work();
        }
    }

}
//工厂类
class ProductFactory{
    public static Product getProduct(String name){
        if("phone".equals(name))
        {
            return new Phone();
        }
        else if("compute".equals(name))
        {
            return new Compute();
        }
        else {
            return null;
        }
    }
}

interface Product{
    public void work();
}

class Phone implements Product{

    @Override
    public void work() {
        System.out.println("手机开始工作");
    }
}

class Compute implements Product{

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

相关阅读更多精彩内容

  • 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。通常我们所说的工厂模式是指工厂方法模...
    zfylin阅读 1,419评论 0 7
  • 文章部分内容转载自:http://blog.csdn.net/zhangerqing 一、设计模式的分类 总体来说...
    j_cong阅读 2,150评论 0 20
  • 前言 关于设计模式,是一个永远说不完的也说不清的话题。毕竟在编程的世界里,没有最好的设计模式,只有最合适的设计模式...
    VV木公子阅读 1,781评论 0 9
  • 父母都想把 孩子培养成一个有 智慧 才华 能力 得孩子,可是我们得想法是好得,做法却是反道而行,呈现的结果是自私的...
    和艳红阅读 215评论 1 1
  • 温馨提醒:第七节是一个非常宁静的冥想练习,请大家找一个安静的不会被打扰的空间来聆听这一节。不要以当背景音乐...
    凌波_6f09阅读 324评论 0 1

友情链接更多精彩内容