TypeScript의 단일 책임 원칙

A class should have just one reason to change.



코드의 모든 클래스는 애플리케이션의 한 부분만 담당해야 합니다. 이 원칙을 따르면 코드의 복잡성이 줄어듭니다.

클래스가 앱의 여러 부분을 담당하는 경우 자주 변경해야 합니다. 따라서 클래스의 한 부분을 변경하면 클래스 자체의 다른 부분이 손상될 위험이 높아집니다. 해결책은 각각 하나의 책임이 있는 여러 클래스로 나누는 것입니다.


다음 나쁜 예에서 우리는 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(", ");
  }
}

좋은 웹페이지 즐겨찾기