• 【设计模式】工厂模式


    解释

      平时我们创建对象的时候都是直接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;
        }
    }

    其他应用

    持续更新!!!

  • 相关阅读:
    InfoPath开发误区
    error: 80040111
    EasyUi通过POI 实现导出xls表格功能
    webservice入门
    CXF框架入门(重点)
    Spring整合Shiro
    EasyUi通过OCUpload上传及POI上传 实现导入xls表格功能
    Matlab自定义安装
    一位大学教师对学生的建议:如何做好研究
    What is covariate(协变量)
  • 原文地址:https://www.cnblogs.com/flyinghome/p/15459161.html
Copyright © 2020-2023  润新知