- 아직 DB가 선정되지 않은 상황 : 성능이 중요한 데이터베이스를 쓸지 등등이 정해지지 않은 상황 가정
- 일반적인 웹 애플리케이션의 계층 구조
컨트롤러 - 서비스 - 리포진토리 - DB
도메인
- 컨트롤러 : 웹MVC의 컨트롤러 역할, API만들거나 할 때 컨트롤러 역할
- 서비스 : 핵심 비즈니스 로직 구현
- 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장,관리
- 도메인 : 데이터베이스에 주로 저장하고 관리되는 비즈니스 도메인 객체
아직 데이터베이스가 지정되지 않은 상황으로 인해, 회원을 저장할 수 있는 리포지토리는 인터페이스로 만들고 구현체를 메모리 구현체로 만들 것. Memory에 넣었다 뺐다 할 수 있는 단순한 구현체를 만들어 추후 데이터베이스가 정해지면 이를 바꿔끼울 것. 그래서 인터페이스로 정의하는 것!!
요즘엔 null을 그대로 반환하는 방법 대신에 Optional로 감싸서 반환하는 기능을 선호하는 편이라고 함. Java 8
'Learning-log > Spring & JPA' 카테고리의 다른 글
(스프링 핵심 원리 - 기본편) 1-(3) 좋은 객체지향 프로그래밍 (0) | 2023.03.24 |
---|---|
(스프링 핵심 원리 - 기본편) 1-(2)스프링이란? (0) | 2023.03.24 |
(스프링 핵심 원리 - 기본편) 1-(1)스프링의 탄생 (0) | 2023.03.24 |
MVC와 템플릿 엔진 / API (0) | 2023.03.09 |
Spring - Section 1강의 실습 기록(2022-02-22 ~ 2022-02-23) (0) | 2023.02.24 |