zoukankan      html  css  js  c++  java
  • 【设计模式】工厂模式

    解释

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

    其他应用

    持续更新!!!

  • 相关阅读:
    封装格式---FLV---文件格式解析
    高并发服务器---基础----IO模式和IO多路复用
    nginx---如何实现轻量级和高并发
    nginx---基础介绍
    H.264---SPS和PPS
    机器学习---算法---朴素贝叶斯
    机器学习---算法---Adaboost
    流媒体传输协议---STUN---基础
    H.264---指数哥伦布编码
    【linux】vim编辑器快捷键使用方法
  • 原文地址:https://www.cnblogs.com/flyinghome/p/15459161.html
Copyright © 2011-2022 走看看