如何给Java配置一个灵活的开关


前言

什么是开关呢?

开关就是一个可以让你的程序灵活配置某一功能是否启用的一个条件,配置了开关就可以通过改变一个参数的形式来决定某段程序是否启动。

为什么要配置一个开关呢?

需要配置开关的场景:

  1. 不同开发者开发出的某些代码不兼容的情况。
  2. 某段代码在交付后出现了未考虑到的bug
  3. 不确定该功能是否被需求方采用

在遇到这些情况时,我们可以采用开关的方式,随时方便关闭一些功能模块


一、最简单直接的方法添加开关

众所周知,在编程语句中 if 语句是选择语句,那么我们在 if 语句中添加一个判断,再配上一个可以设置的参数不就实现了最基本的开关了嘛。

public class TestMain {

	/**
	* 开关参数,如果为true则表示开关为开,如果为false则为关闭状态
	*/
    private static boolean isOpen = false ;
    
    public void takeApple() {
        if (!isOpen) {
            return;
        }
        System.out.println("拿一个苹果");
    }
    
    public void takeCup() {
        if (!isOpen) {
            return;
        }
        System.out.println("拿一个杯子");
    }
    
}

以上就实现了一个最简单的开关配置方法,但是这个开关配置有很多缺点,比如大量重复的if语句,造成代码耦合度高,或者参数配置的实际位置是在类中,这样的参数在项目上线后更改就必须要上线新的版本等等问题。

二、基于 if 语句方式优化

我们基于上面开关配置的缺点来逐一优化。

1、参数位置

参数之间写在了代码中,后面想要更改很麻烦,那么我们就将参数写在配置文件中,这样更改的话只需要更改配置文件即可,更改配置文件不需要暂停程序的运行,符合了我们的需求。

2、判断语句位置

原本的判断语句放在了每个需要添加开关的方法前,所以我们将这个开关抽象成一个方法,每次执行前都会执行一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值