发布于 2026-01-06 2 阅读
0

TypeScript 中的单一职责原则

TypeScript 中的单一职责原则

一个班级应该只有一个理由可以改变。

我们代码中的每个类都应该只负责应用程序的一个部分。遵循这个原则可以降低代码的复杂度。

如果一个类负责应用程序的多个部分,那么它就需要频繁修改。因此,修改类中的一个部分会增加破坏其他部分的风险。解决方案是将其拆分成多个类,每个类负责一项职责。


在下面的反例中,我们可以看到该类Student有两个职责:管理学生数据和课程数据。

class Student {
  id: number;
  name: string;
  courseId: number;
  courseName: string;
  courseSubjects: string[];

  // constructor

  getCourseSubjects(): string {
    return this.courseSubjects.join(", ");
  }
}
Enter fullscreen mode Exit fullscreen mode

遵循单一职责原则,我们可以将课程数据移至单独的类中来改进这一点。

class Student {
  id: number;
  name: string;
  course: Course;

  // constructor
}

class Course {
  id: number;
  name: string;
  subjects: string[];

  // constructor

  getCourseSubjects(): string {
    return this.subjects.join(", ");
  }
}
Enter fullscreen mode Exit fullscreen mode
文章来源:https://dev.to/jmalvarez/single-responsibility-principle-in-typescript-859