TypeScript实现设计模式——生成器模式

前端开发 作者: 2024-08-20 06:30:01
生成器模式是一种在TypeScript/JavaScript中非常常见的创建型设计模式,它使你能够分步骤创建复杂对象。当你需要创建一个可能有许多配置选项的对象时, 该模式会特别有用。

问题

创建想要生成的产品类

class Product {
  public partA: string;
  public partB: string;
  public partC: string;
  public partD: string;
}

创建生成器类

class ProductBuilder {
  private product: Product;

  constructor() {
    // 创建要生成的对象
    this.product = new Product();
  }

  // 以下为给对象添加各部分的方法
  public setPartA(partA: string): this {
    this.product.partA = partA;
    return this;
  }

  public setPartB(partB: string): this {
    this.product.partB = partB;
    return this;
  }

  public setPartC(partC: string): this {
    this.product.partC = partC;
    return this;
  }

  public setPartD(partD: string): this {
    this.product.partD = partD;
    return this;
  }

  // 完成产品生成
  public build(): void {
    // 这里可以写具体的构建完成后要执行的操作
    console.log(this.product);
  }
}

测试代码

const product = new ProductBuilder()
  .setPartA('这是Part A')
  .setPartB('这是Part B')
  .setPartD('这是Part D')
  .build();
// Product { partA: '这是Part A',partB: '这是Part B',partD: '这是Part D' }
const product = new ProductBuilder()
  .setPartA('这是Part A')
  .setPartB('这是Part B')
  .build();
// Product { partA: '这是Part A',partB: '这是Part B' }
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_65369.html