1.8 KiB
1.8 KiB
비즈니스 요구사항 정리
- 데이터 : 회원ID, 이름
- 기능 : 회원등록, 조회
- 아직 데이터 저장소가 선정되지 않음(가상의 시나리오)
일반적인 웹 어플리케이션 계층 구조
- 컨트롤러 : 웹 MVC의 컨트롤러 역할을 한다.
- 서비스 : 서비스 클래스의 핵심 비즈니스 로직을 구현한다(ex. 회원은 중복가입이 안된다거나..).
- 서비스는 비즈니스 도메인 객체를 가지고 핵심 비즈니스 로직이 동작하도록 구현한 객체이다.
- 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리한다.
- 도메인 : 회원, 주문, 쿠폰 등등 주문 데이터베이스에 저장하고 관리되는 비즈니스 도메인 객체이다.
클래스 의존관계
- 회원 비즈니스 로직에는 회원 서비스가 있다.
- 회원 리포지토리는 인터페이스로 설계한다.
- 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계한다.
- 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운
메모리 기반의 데이터 저장소를 사용한다(굉장히 단순하며 금방 만들 수 있다). - 이는 향후에
RDB,JPA등의 구체적인 기술이 선정되고나면(현재는 다양한 저장소를 고려중인 상황이라고 가정) 바꿔끼운다(바꿔끼우기 위해서는 인터페이스가 필요하므로 리포지토리는 인터페이스로 설계한다).