본문 바로가기
Spring

Spring Day 4 : 3 Layer Architecture

by 우 석 2024. 1. 23.

3 Layer Architecture

소프트웨어 개발에서 많이 사용되는 아키텍처 패턴 중 하나입니다. 소프트웨어 시스템을 세 개의 주요 계층으로 분리하여 구성합니다. 각 계층은 특정한 역할과 책임을 수행하며, 서로 간에는 명확한 인터페이스를 통해 상호작용합니다.

 

1. Controller

 

  • 클라이언트의 요청을 받습니다.
  • 요청에 대한 로직 처리는 Service에게 전담합니다.
  • Request 데이터가 있다면 Service에 같이 전달합니다.
  • Service에서 처리 완료된 결과를 클라이언트에게 응답합니다.

 

2.  Service

  • 사용자의 요구사항을 처리 ('비즈니스 로직') 하는 실세 중에 실세입니다.
    • 따라서 현업에서는 서비스 코드가 계속 비대해지고 있습니다.
  • DB 저장 및 조회가 필요할 때는 Repository에게 요청합니다.

 

3. Repository

  • DB 관리 (연결, 해제, 자원 관리) 합니다.
  • DB CRUD 작업을 처리합니다.

 

정리

3 Layer Architecture를 사용하면 각 계층이 독립적으로 개발, 테스트, 유지보수될 수 있도록 모듈화 되어 있습니다. 이로 인해 시스템의 유연성과 확장성이 향상되며, 계층 간의 결합도가 낮아져 변경이나 확장이 용이해집니다. 또한, 비즈니스 로직과 데이터 액세스의 분리로 인해 코드의 재사용성과 유지보수성도 향상됩니다.  ->  역할 분리로 인한 장점

'Spring' 카테고리의 다른 글

Spring Day 6 : JPA  (0) 2024.01.25
Spring Day 5 : IoC(제어의 역전)과 DI(의존성 주입)  (0) 2024.01.24
Spring Day 3 : MVC  (0) 2024.01.22
Spring Day 2 : HTTP  (0) 2024.01.19
Spring Day 1 : Server  (0) 2024.01.18