2025-08-08 00:24
Tags: 소프트웨어 공학
단일 책임 원칙 (Single Responsibility Principle, SRP)
- 코드를 조금만 수정해도 오류가 터져나오는 ‘소프트웨어의 부패’를 막기위한 원칙
- SOLID 원칙의 맨 처음 S 를 담당
- 클래스, 모듈, 함수 같은 구성요소의 변경 이유를 한가지로 제한 → 복잡성 낮추고 유지보수성 높이기
- 특정 기능 변경이 필요할 때 코드의 단 한 부분만 살펴보면 되도록 만들기
- 여러 책임을 가진 거대한 클래스(함수, 모듈) → 각 책임에 맞는 작은 모듈화
- 다만 처음부터 모든 것을 분리하고 최적화 하려고 하면 오히려 복잡도 높아질 수 있음
- 중복 제거의 3의 원칙처럼, 처음엔 하나의 모듈로 가다가 두번째 책임이 생기면 분리
- 응집도 는 높이고 결합도 는 낮추는 핵심 원칙
“하나의 클래스는 단 하나의 변경 이유만을 가져야 한다.” (A class should have only one reason to change.)
“하나의 모듈은 오직 하나의 액터(Actor)에 대해서만 책임져야 한다.”> (A module should be responsible to one, and only one, actor.)