단일 책임과 인터페이스 분리

노트 유형: Cloze

Text

단일 책임의 문제: “하나의 책임”이라는 개념이 굉장히 {{c1::주관적}} — 포프샘의 재해석: {{c2::사람이 이해할 수 있는 크기}}로 만들라는 것 (팀·참여자에 따라 달라짐)

  • 위반을 바로 보여주는 객관적 지표 하나: {{c3::클래스 이름에 And가 들어감 (예: UserAndAccount, BatmanAndRobin)}}
  • 책임을 분명하게 하면 얻는 장점: {{c4::오류가 발생할 만한 곳과 오류를 처리하는 곳, 고칠 곳이 명확해짐}}
  • 인터페이스 분리도 같은 뿌리 — {{c5::사람이 동시에 이해할 수 있는 정보 크기}}의 문제. 교훈은 필요한 만큼 간단하게 만들기(밸런스)

Back Extra

출처: https://pocu-site.pages.dev/pocu-note/COMP2500/014-solid-design-principles/014-004-significance-of-single-responsibility/