【发布时间】:2021-04-02 08:18:50
【问题描述】:
我通常使用代理模式来避免 API 调用
const bankAPI = () => ({
getUserData: () => { name: "Victorio" },
})
function bankAPIProxy = () => {
const bankAPI = bankAPI();
const cache = {};
getUserData = () => {
if(cache.userData) return cache.userData; // Save API Calls
cache.userData = bankAPI.getUserData();
}
}
但是,是否可以使用相同的模式来添加额外的功能并仍将其视为代理?
如果 Proxy 不实现它,那又如何呢:
function bankAPIProxy = () => {
const bankAPI = bankAPI();
getUserData = () => bankAPI.getUserData();
newMethod = () => "Hello World!";
}
这还是代理吗?
【问题讨论】:
标签: javascript design-patterns refactoring