代理模式

代理模式是一种结构型设计模式,它允许你提供一个替代物或占位符,以控制对另一个对象的访问。代理对象充当目标对象的接口,以便可以在不改变目标对象的情况下添加额外的功能。

  • 代理模式在实际开发中经常用于延迟加载(懒加载)、访问控制、缓存等场景,它可以提高代码的灵活性和可维护性。
// 假设有一个图片加载类
class ImageLoader {
  constructor(url) {
    this.url = url;
  }

  loadImage() {
    console.log(`Loading image from ${this.url}...`);
    // 省略加载图片的逻辑
  }
}

// 通过代理模式来控制图片的加载,例如,在图片加载完成前显示加载动画
class ImageLoaderProxy {
  constructor(url) {
    this.loader = new ImageLoader(url);
  }

  loadImage() {
    // 显示加载动画
    console.log("显示加载动画...");

    // 加载图片
    this.loader.loadImage();

    // 图片加载完成后隐藏加载动画
    console.log("隐藏加载动画...");
  }
}

// 使用代理加载图片
const proxy = new ImageLoaderProxy("https://example.com/image.jpg");
proxy.loadImage();
上次更新 2026/6/23 11:49:15
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8