TypeScript 中的单一职责原则
一个班级应该只有一个理由可以改变。
我们代码中的每个类都应该只负责应用程序的一个部分。遵循这个原则可以降低代码的复杂度。
如果一个类负责应用程序的多个部分,那么它就需要频繁修改。因此,修改类中的一个部分会增加破坏其他部分的风险。解决方案是将其拆分成多个类,每个类负责一项职责。
在下面的反例中,我们可以看到该类Student有两个职责:管理学生数据和课程数据。
class Student {
id: number;
name: string;
courseId: number;
courseName: string;
courseSubjects: string[];
// constructor
getCourseSubjects(): string {
return this.courseSubjects.join(", ");
}
}
遵循单一职责原则,我们可以将课程数据移至单独的类中来改进这一点。
class Student {
id: number;
name: string;
course: Course;
// constructor
}
class Course {
id: number;
name: string;
subjects: string[];
// constructor
getCourseSubjects(): string {
return this.subjects.join(", ");
}
}