단일 책임 원칙(SRP)

단일 책임 원칙은 모듈, 클래스, 함수가 한가지의 역할에 대해서만 책임을 져야한다는 원칙입니다.

한가지의 역할을 가지고 있게 설계를 하면 기능(모듈, 클래스, 함수)들을 작게 나눌 수 있으며 그 기능에 초점을 맞춰서 설계가 가능해서 변화에 유연하고 확장성이 좋아집니다.

만약 기능 안에 여러가지 역할을 수행하도록 설계한다면 변경이 일어났을 때 다른 역할에 사이드 이팩트를 발생 시킬 수 있는 위험이 높아집니다.

참고

Single-responsibility principle