애플리케이션 구조

전홍영·2023년 2월 20일
0

Spring

목록 보기
7/21
post-custom-banner

애플리케이션 구조

여러 애플리케이션 구조 중 가장 단순하고 많이 사용하는 구조는 역할에 따라 3 계층으로 나누는 방법이다.

  • 프레젠테이션 계층 : UI와 관련된 처리, 웹 요청과 응답, 요청 검증 등을 담당한다. 주요 사용 기술로는 gRPC, HTTP, 서블릿, 스프링 MVC 등
  • 서비스 계층 : 비즈니스 로직을 담당한다. 서비스 계층은 순수한 자바 코드로 작성하는 것이 올바른 방법이라 할 수 있다.
  • 데이터 접근 계층 : 실제 DB에 접근하는 코드가 있는 계층이다. 주 사용 기술은 JPA, JDBC, Mongo, Redis 등

여기서 서비스 계층은 어떠한 기술에 종속적이여서는 안된다. 만약 데이터 접근 계층에서 JPA를 사용할 때 서비스 계층은 JPA 기술에는 의존해서는 안되며 오로지 순수한 자바코드로 작성하는 것이 안전하다.

왜냐하면 서비스 계층은 주요 비즈니스 로직을 담고 있기 때문에 사용하는 기술이 바뀌어서 코드가 수정된다면 오류가 발행할 가능성이 굉장히 높다. 따라서 서비스 계층은 가급적 비즈니스 로직만 구현하고 특정 구현 기술에 직접 의존해서는 안된다. 이렇게 하면 추후에 구현 기술이 변경될 떄 변경의 영향 범위를 최소화할 수 있다.

profile
Don't watch the clock; do what it does. Keep going.
post-custom-banner

0개의 댓글