多个布尔检查或invalids计数器

时间:2013-07-07 07:12:18

标签: logic design-patterns

根据多个变量无效实现操作的首选方法是什么:

即:

invalid_get() {
    return a_invalid || b_invalid || c_invalid;
}

a_invalid_set(v) {
    a_invalid=v;
    if(v) {
        validate_add();
    } else {
        validate_remove();
    }
}
function validate_remove() {
    if(!invalid_get()) {
        validate_remove_do();
    }
}

OR:

var invalids_num:Int;
function a_invalid_set(v) {
    a_invalid=v;
    if(v) {
        ++invalids_num;
        validate_add();
    } else {
        --invalids_num;
        validate_remove();
    }
}

validate_remove() {
    if(invalids_num==0) {
        validate_remove_do();
    }
}

我猜测对0的int检查更快,毫无疑问是正确的模式,当然对于大量属性。

0 个答案:

没有答案