Angular 设计模式实战

在设计 Angular 应用时,合理运用设计模式可以大大提升应用的架构质量和可维护性。以下是一些在 Angular 中常用的设计模式及其实战应用。

单例模式 (Singleton)

单例模式确保一个类只有一个实例,并提供一个访问它的全局访问点。

class Database {
  private static instance: Database;
  private constructor() {}
  
  public static getInstance(): Database {
    if (!Database.instance) {
      Database.instance = new Database();
    }
    return Database.instance;
  }
}

观察者模式 (Observer)

观察者模式允许对象在状态变化时通知其他依赖的对象。

interface Observer {
  update: () => void;
}

class Subject {
  private observers: Observer[] = [];

  public addObserver(observer: Observer): void {
    this.observers.push(observer);
  }

  public notifyObservers(): void {
    this.observers.forEach(observer => observer.update());
  }
}

装饰者模式 (Decorator)

装饰者模式动态地给一个对象添加一些额外的职责。

function log(target: any, propertyKey: string, descriptor: PropertyDescriptor) {
  const originalMethod = descriptor.value;
  descriptor.value = function() {
    console.log(`Method ${propertyKey} called`);
    return originalMethod.apply(this, arguments);
  };
}

class Component {
  @log
  public method(): void {
    console.log('Component method');
  }
}

提示:更多设计模式

如果您想了解更多关于 Angular 设计模式的内容,可以访问我们的 Angular 设计模式教程

Angular Design Patterns