Development/Spring

스프링 입문 - 비즈니스 요구사항 정리

양선규 2023. 10. 29. 21:49
728x90
반응형

본격적으로 개발을 하기 앞서, 우선 비즈니스 요구사항을 정리해야 한다.

복잡한 비즈니스 로직을 배우는 것이 아닌, 스프링이 어떻게 돌아가는지를 이해하기 위함이므로 가장 쉬운 비즈니스 요구사항을 택할 것이다.

 

일반적인 웹 애플리케이션 계층 구조는 이렇다.

컨트롤러: 웹 MVC의 컨트롤러 역할
서비스: 핵심 비즈니스 로직 구현. 도메인을 이용한 서비스, 기능, 로직 그 자체를 의미
리포지토리(저장소): 데이터베이스에 접근하고 도메인 객체를 DB에 저장하고 관리함.
도메인: 비즈니스 도메인 객체. 회원, 주문, 쿠폰 등등. DB에 저장되고 서비스로써 이용될 것들.

 

비즈니스 요구사항

데이터: 회원ID, 이름
기능: 회원 등록, 조회
아직 데이터 저장소가 선정되지 않은 상태라는 가정 ( 어떤 DB를 사용할지 정해지지 않은 상태. )

 

클래스 의존관계

MemberService(서비스)

MemberRepository(리포지토리이며, 인터페이스이다)

MemoryMemberRepository(리포지토리를 구현한 클래스)

 

리포지토리를 인터페이스로 구현하는 이유는, 아직 데이터 저장소가 선정되지 않은 상태이기 때문이다.

간단한 메모리 기반의 저장소를 우선 사용하되, 후에 저장소가 선정되면 그걸로 교체하기 위해 리포지토리를 인터페이스로 작성한 것이다.

 

 

이러한 비즈니스 요구사항을 바탕으로, 다음 글부터 본격적인 개발에 들어가도록 하겠다.

728x90
반응형