레벨 1 사다리 미션, step 1 리뷰 정리

2023. 3. 10. 23:18우아한 테크코스/레벨 1

728x90
반응형

사다리 미션

잘한 점

1. 자동차를 움직이는 numberGenerator 인터페이스 활용

- 인터페이스 활용을 통한 전략패턴 사용 및 유연성 확보

- 인터페이스 활용을 통해 test 로직 유연성 추가

 


피드백 받은 부분

1. 컨트롤러가 NumberGenerator를 필드로 가지는 것이 올바른가?

- 컨트롤러가 사용하는 도메인을 제외한 도메인 객체는 컨트롤러나 뷰로부터 보호받아야할 필요가 있다.

 

2. view에 domain 객체가 침범하고 있는 것이 괜찮은가?

- view는 domain에 대해 알지 못해야한다. controller에서 domain을 풀어서 view에게 전달해야한다.

 

내가 제시한 해결 방법

(1) 출력용 도메인을 만든다.

(2) 단순히 unmodified 형태로 도메인을 전달하고 이를 곧바로 view에 전달해 domain이 바뀔 여지를 최대한 줄여준다.

 

리뷰어: 출력 객체를 만들어서 한번 해보세요!

 

 

3. 접근 제어자가 빠져있어요!

4. static final의 순서를 지켜주는 것이 좋을 것 같아요!

 


질문

Q. 예외 사항을 점검하는 로직을 어디에 추가하는 것이 좋을까요?

- 각 계층별로 판단해야하는 로직이 다를 수 있겠지만 비즈니스 로직이라 판단된다면 그에 해당하는 검증 로직은 도메인에서 판단하는 것이 좋을 것 같아요!

- 개인적으로 검증 책임을 갖는 클래스를 하나 더 만들어서 관리하는 것을 선호합니다!

  • ex) CarValidator

 

Q. numbergenerator를 둘 때의 패키지명은 어떻게 하는 것이 좋을까요?

 

- numbergenerator라는 패키지명이나 generator라는 패키지 명이 좋을 것 같아요!

728x90
반응형

'우아한 테크코스 > 레벨 1' 카테고리의 다른 글

우테코, 웹 기초  (0) 2023.03.12