개발 공부 기록/07. TIL

스프링 부트 핵심가이드 TIL - 2장 (개발에 앞서 알면 좋은 기초 지식)

박세류 2023. 9. 29. 10:36

✍학습 키워드

정의

개발에 앞서 알면 좋은 기초 지식

주의

  • 비즈니스 로직은 도메인 계층에서 담당하는 것이 일반적이다
  • 스프링에서 JPA를 사용하면 @Entity를 정의한 클래스가 도메인 객체가 되며, 이곳에서 비즈니스 로직을 설계함 좋다.
  • 서비스 레이어에서 비즈니스 로직을 담당하는 경우도 있으므로 잘 설계해야 한다.

📝새로 배운 개념

MSA

  • 서버간 통신은 한 서버가 다른 서버에 통신을 요청하는 것을 의미한다
  • 주로 HTTP 통신을 사용한다

3-Tier-Architecture

레이어드 아키텍처란 애플리케이션의 컴포넌트를 유사 관심사를 기준으로 묶어 수평적으로 구성한 구조를 의미한다.(AOP 같은 너낌)

3 계층 아키텍쳐는 이렇게 이루어진다

  • 프레젠테이션 계층(컨트롤러, 뷰)
    • 애플리케이션의 최상단 계층으로, 클라이언트의 요청을 해석하고 응답하는 역할이다.
    • UI나 API를 제공한다.
    • 별도의 비즈니스 로직을 포함하고 있지 않으므로 비즈니스 계층으로 요청을 위임하고 받은 결과를 응답하는 역할만 한다.
  • 비즈니스 계층 (서비스 계층)
    • 세부 작업을 수행하는 도메인 객체를 통해 업무를 위임하는 역할을 수행한다.
    • DDD 아키텍쳐에서는 비즈니스 로직에 도메인이 포함되기도 하고 별도로 도메인 계층을 두기도 한다.
  • 데이터 접근 계층(DAO)
    • DB에 접근하는 일련의 작업을 수행한다.
    • JPA에서는 DAO 역할을 리포지토리가 수행하기 때문에 리포지토리로 대체할 수 있다

REST API

API란 애플리케이션에서 제공하는 인터페이스를 의미하며, 서버 또는 프로그램 사이를 연결 할 수 있다.

REST URL 규칙

  1. URI의 마지막에는 “/”를 포함하지 않는다.
  2. 언더바(_) 대신 하이픈(-)을 사용한다.
  3. URL에는 행위(ehdtk)가 아닌 결과(audtk)를 포함한다.
  4. URI는 소문자로 작성해야한다.

✨느낀 점&자기 선언

스프링부트는 자동 설정을 지원하기 떄문에 애플리케이션을 편하게 개발할 수 있으나, 심도 있는 개발을 위해서는 스프링의 동작 원리를 파악해야 한다.

스프링 모듈만으로 개발을 진행해보면 동작 원리를 파악하는 데 큰 도움이 된다.

GOF 공부해야할거같다

728x90