TIL - 0618

스프링

  • 스프링 빈 생성과 DI 시점 : 모두 스프링이 시작될 때 컨테이너에 생성(streotype 어노테이션으로 스프링빈 설정)해두고 DI까지 모두 해둔 상태
    • 스프링 빈은 무상태여야함 : 상태를 가지는 객체를 관리하면 개발자가 고려해야할 부분이 굉장히 많아짐(race condition) - 굳이? 할 필요가 없음, 멀티쓰레드 환경 임을 잊지 말아야함

TDD

  • 테스트 주도 개발을 하면서 중간에 끝내고 이어나가려고 할 때 어떻게 알아보나? 실패 케이스가 아직 구현되지않았기때문에 실패 케이스인 것, 실패 케이스인 부분부터 개발을 하면 됨

레이어 구조

  • 생각해봐야할 점 : DTO를 언제 사용할까?
    1. Controller -> Service -> Domain/Repository 오른쪽으로 이동할 때만 사용할까? : DTO를 사용하는 의미가 퇴색되려나? 레이어 이동에서 상태 프리징을 시키기위해서 사용(상태 변경 단계가 Service 계층에서부터 Domain이긴한데…
    2. 양쪽 모두 넘어갈때 사용할까? : 모두 사용하려면 DTO에는 필드가 그만큼 많아짐 - 필요한 데이터를 모두 저장하고 있어야해서