TIL

예외검사 로직의 적절한 위치는?

jhg0406 2022. 2. 21. 16:39

학습 동기

  • 예외검사(ex. 자동차 이름은 5자 이하) 로직을 아래 위치 중 어디에 두어야 하는지 고민
  1. 모든 예외검사 메서드를 하나의 클래스(ex. validator)로 모은다.
  2. 사용자 입력이니 입력을 처리하는 클래스 내부에 넣는다.
  3. 검사할 변수가 존재하는 클래스 내부에 넣는다.

학습 내용

  • 첫번째 방법은 validator가 변경되면 도메인이 변경될 가능성이 큼
  • 두번째 방법은 클라이언트가 바뀌면 검증로직을 다시 작성해야 함
  • 세번째 방법이 이 중 가장 자연스럽다고 생각됨. 객체의 자율성을 향상시킴

결론

  • 다른 코드에 최대한 영향을 끼치지 않고, 객체의 역할과 책임을 고려한 적절한 위치를 고민하자