如何在 Typescript 中构建 Builder 模式

Viewed 7

如何在 Typescript 中构建 Builder 模式?

1 Answers
export class User 
{
     name: string;
     age: number;

     constructor(builder: UserBuilder)
     {
          this.name = builder.name;
          this.age = builder.age;
     }
}

export class UserBuilder 
{
     private readonly _name: string;
     private _age: number;

     constructor(name: string)
     {
          this._name = name;
     }

     setAge(age: number)
     {
          this._age = age;
          return this;
     }

     get name()
     {
          return this._name;
     }

     get age()
     {
          return this._age;
     }

     builder()
     {
          return new User(this);
     }

}

const user = new UserBuilder('Test Builder')
     .setAge(12)
     .builder();

console.log(user);