【设计模式】工厂模式

解释

  平时我们创建对象的时候都是直接new对应的对象,但是为了安全,可以新加一层接口,里面定义一个创建对象的方法,但是没有具体逻辑,而具体的创建的逻辑,可以通过新建类实现接口,重写创建方法的方式来实现。

定义

  定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。同时在创建对象时对客户端隐藏了创建逻辑。这就是工厂模式。

核心

  创建过程在子类实现

优点

  1.扩展性好,想要增加一个产品,直接扩展一个工厂类就可以了。

  2.安全性好,对客户端隐藏了具体的创建的实现。

  3.操作简单,调用者想要创建对象,只要知道其名字就可以了。

缺点

  每次增加一个产品都需要添加一个类,如果产品特别多,会导致代码中的类特别多,不易于维护。

使用场景

  1.根据传参不同去访问不同的数据库。

  2.连接服务器协议的方式HTTP、IMAP、POP3

  3.MQ生产者发送消息,不同的生产者其实发送的动作是一样的。

具体使用描述

  1.创建一个工厂接口,里面定义创建对象的方法。

  2.再分别创建两个工厂类,均实现这个工厂接口,并按照各自的逻辑重写创建对象的方法。

 

代码实现

public interface BallFactory {
    public Ball create();
}

public class SoccerFactory implements BallFactory {
    @Override
    public Ball create() {
        //do something
        return null;
    }
}

public class BasketBallFactory implements BallFactory {
    @Override
    public Ball create() {
        //do something
        return null;
    }
}

 

其他应用

 

 

持续更新!!!

posted @ 2021-10-25 16:25  夏夜凉凉  阅读(46)  评论(0编辑  收藏  举报