데브허브 | DEVHUB | Watch this video if you're a developer!Watch this video if you're a developer!
- 단일 책임 원칙(SRP)은 클래스가 변경될 단 하나의 이유만 가져야 하며, 이는 하나의 기능만 수행해야 함을 의미합니다. 🎯
- SRP를 위반하여 여러 책임을 가진 클래스는 유지보수 및 수정이 어려워지고 코드의 목적이 불분명해집니다. 🚧
- 관심사를 분리함으로써 코드를 더 깔끔하고, 테스트하기 쉬우며, 확장 가능하게 만들 수 있습니다. ✨
- 예시로,
AuthenticationService가 로그인 처리와 이벤트 로깅을 동시에 수행하는 것은 SRP 위반에 해당합니다. 🚫
- 해결책은 로깅 기능을 전담하는 별도의
Logger 클래스를 생성하고, AuthenticationService는 Logger 인스턴스를 주입받아 사용하는 것입니다. 🛠️
- 이로써 각 클래스가 명확한 단일 책임을 가지게 되며, 로깅 로직 변경 시
Logger 클래스만 수정하면 됩니다. 🔄