第九章 将配置数据从代码中分离出来

代码无非是定义一些指令集合让计算机来执行。

精心设计的应用应当将关键数据从主要的源码中抽离出来,这样我们修改源码时才会更加放心。

9.1 什么是配置数据

配置数据是应用中写死的值

我们来看下面的代码:

//将配置数据埋藏在代码中

function validate(value){
    if (!value){
        alert('Invalid value');
        location.href = '/errors/invalid.php';
    }
}

function toggleSelected(element){
    if (hasClass(element, 'selected')){
        removeClass(element, 'selected')
    }else{
        addClass(element, 'selected')
    }
}

这段代码中,有三个配置数据片段,这三个值可能会被频繁修改

分别是:

Invalid value,/errors/invalid.php,selected

它们都是配置数据,因为他们都是写死在代码里的,且将来可能会被修改。下面给出了一些配置数据的例子:

URL
需要展现给用户的字符串
重复的值
设置(比如每页的配置项)
任何时候可能发生变更的值

我们时刻要记住,配置数据是可发生变更的,而且你不希望因为有人突然想修改页面中展示的信息,而导致你去修改js源码。

9.2 抽离配置数据

将上面代码改造为:

var config = {
    MGS_INVALID_VALUE: 'Invalid value',
    URL_INVALID: '/errors/invalid.php',
    CSS_SELECTED: 'selected'
}

function validate(value){
    if (!value){
        alert(config.MGS_INVALID_VALUE);
        location.href = config.URL_INVALID;
    }
}

function toggleSelected(element){
    if (hasClass(element, config.CSS_SELECTED)){
        removeClass(element, config.CSS_SELECTED)
    }else{
        addClass(element, config.CSS_SELECTED)
    }
}

9.3 保存配置数据

将配置数据单独抽离成一个文件,里面可以使用json的格式来保存数据。

你可能感兴趣的:(第九章 将配置数据从代码中分离出来)