콘텐츠로 이동

2021 04 25

2021-04-25

도메인 로직 VS 비즈니스 로직

  • 비즈니스 로직 - 애플리케이션 자체가 비즈니스 로직을 처리하기 위해 만들어짐 - 눈에 보이진 않지만, 유저가 바라는 결과물을 올바르게 도출하기 위해 짜여진 코드 - 컴퓨터 프로그램에서 데이터 생성/표시/저장/변경하는 부분을 지칭 - 업부에 필요한 데이터 처리를 수행하는 응용프로그램의 일부 - 어플리케이션에서 핵심이 되는 로직 - 유저의 요청에 따른 결과물을 만들어 내기 위한 작업 하나하나 - 개발자는 비즈니스 로직을 잘 작성하고, 레이어를 잘 분리시켜 유지/보수/확장에 유리한 코드 작성할 것 - 도메인에 가까울수록 좋음 - 서비스레이어가 도메인 읽어서 제공하기 때문
  • 도메인 로직 - 실질적으로 어플리케이션이 처리하고 있는 로직
  • 비즈니스 로직은 도메인 로직에 가까울수록 좋음!

@RequestBody 기본 생성자

  • messageConverter들 중에서 적합한 HttpMessageConverter 찾아 Body를 읽음 - 이중 JSON으로 요청 받은것은 MappingJackson2HttpMessageConverter가 수행됨
  • ObjectMapper가 @RequestBody를 바인딩 함 - Java Obj <-> JSON - objectMapper.readValue() - RequestBody가 null인지 확인 후, _readMapAndClose()호출 - JsonDeserializer로 역직렬화 후 Object 반환 - deserializeFromObject() 호출 - createUsingDefault() 호출 - 기본 생성자 없으면 _nonStandartCreation 호출 - deserializeFromObjectUsingNonDefault - delegate를 하지 않으면 오류 - delegate는 뭐지...? 위임이라는데...? - 어쨋든, default 생성자를 만들어주는게 좋다 - 그런데 왜 인스턴스 필드가 2개인것은...? - 디버깅한번 해보는것도좋을듯...?