js设计模式之Facade

原始实现获取用户信息的代码

function getUserName() {
    return 'name';
}

function getUserAge() {
    return 'age';
}

var userName = getUserName();
var userAge = getUserAge();
console.log(userName,userAge);

使用Facade模式实现的代码

function getUserName() {
    return 'name';
}

function getUserAge() {
    return 'age';
}

function getUserInfo() {
    var userInfo = {
        userName: getUserName(),
        userAge: getUserAge(),
    };
    return userInfo;
}
var userInfo = getUserInfo();
console.log(userInfo);

从两份代码中可以看出,代码2主要是用getUserInfo这个函数封装了多个获取用户信息的接口。用户只需要直接调用这个函数就可以获取用户信息。而不需要单独调用每个获取信息的接口。如果我们在系统的多个模块中调用getUserName、getUserAge这些接口,然后接口名字被修改了,那整个系统的代码都需要修改。而如果我们系统每个模块都统一调用getUserInfo这个接口,不仅获取用户信息方便,而且其他接口修改时,只需要修改getUserInfo中的该接口对应的代码。修改范围大大减小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值