Table of Contents
소프트웨어 개발에서, 고도로 일관성 있는 클래스를 만드는 것은 유지적이고 확장 가능한 응용 프로그램을 구축하는데 필수적입니다. 단일 책임 원칙 (SRP)은 개발자가이 목표를 달성하는 데 도움이되는 기본 가이드라인입니다. 그것은 클래스가 변경하는 데 필요한 하나의 이유가 있어야한다는 것을 의미합니다. 즉, 단일 책임 또는 목적에 초점을 맞추고 있습니다.
단일 책임 원칙에 대한 이해
SRP는 객체 중심 디자인의 다섯 가지 SOLID 원칙 중 하나입니다. 그것은 개발자가 좁은 집중되는 클래스를 설계하는 것을 권장합니다. 클래스가 여러 책임이있을 때, 한 영역의 변경은 시스템의 다른 부분에 영향을 미치며 버그와 복잡한 증가에 이르는 복잡성을 높일 수 있습니다.
고순도의 장점
- 유지 보수의 용이성: 변경은 현지화되고, 관련 기능을 끊는 위험이 감소합니다.
- 읽을 수 있는 개선: 명확한 클래스의 책임은 코드를 쉽게 이해하도록 합니다.
- Enhanced reusability:] Focused Class는 다른 부분에서 응용 프로그램을 재사용할 수 있습니다.
- 더 나은 테스트: 절연성 책임은 단위 테스트 및 디버깅을 단순화합니다.
Cohesive Classes 설계를 위한 전략
SRP에 준수하는 클래스를 만들기 위해 다음 전략을 고려하십시오.
- 싱글 책임체 식별: 각 클래스가 구현하기 전에 책임지는 것을 명확하게 정의한다.
- ] 의미 있는 이름을 사용합니다: clarity를 강화하기 위한 기본 책임에 근거한 이름 클래스.
- Break down complex class: 큰 클래스를 더 작아 집중 클래스로 나눕니다.
- Apply design pattern: Factory, Strategy, 또는 Observer와 같은 패턴을 사용하여 단일 책임감을 촉진합니다.
Practical 예제
사용자 계정 관리 및 알림 이메일 전송을 관리하는 응용 프로그램을 개발하는 것이 좋습니다. 작업 모두 처리하는 모놀리식 클래스를 만드는 대신, 분리 :
Class 1: UserAccountManager – 사용자 데이터 및 인증 관리에 책임이 있습니다.
Class 2: EmailNotifier – 이메일 작성 및 전송에 책임.
이 분리는 각 클래스는 단일 책임이있어 시스템의 유지 보수 및 확장을 쉽게 만드는 것을 보장합니다.