728x90

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

본 블로그는 해당 스프링 강의(김영한) 수강 후, 작성된 게시물입니다.


1. 비즈니스 요구사항 정리

  • 데이터 : 회원ID, 이름
  • 기능: 회원 등록, 조회
  • 아직 데이터 저장소가 선정되지 않음(가상의 시나리오)
    • 개발자는 개발을 해야하는데, DB가 선정이 안된 경우지만 개발을 해야하는 가상의 시나리오

 

일반적인 웹 애플리케이션 계층 구조

비즈니스 도메인 객체를 가지고,핵심 비즈니스 로직이 동작하도록 구현한 계층

컨트롤러: 웹 MVC의 컨트롤러 역할
서비스: 핵심 비즈니스 로직 구현 ex) 회원 중복가입 불가
리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 

 

클래스 의존관계

회원 저장은 innterface로 설계할 예정(비즈니스 요구사항 중, 아직 데이터 저장소가 선정되지 않았기 때문에), 구현체는 메모리 구현체로 만들 예정(개발은 해야하니까... 메모리로 단순하게 저장하도록! 향후 구체적인 기술로 선정되면 바꿔끼울 예정)

▶ 아직 데이터 저장소가 선정되지 않아, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계

▶ 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정

▶ 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용

728x90

'IT > Spring' 카테고리의 다른 글

Spring[7] - Spring MVC 소개  (0) 2022.06.30
Spring[6] - Layered Architecture & @Component  (0) 2022.06.28
Spring[5] - Dependency Injection  (0) 2022.06.27
[Spring] API  (0) 2022.06.26
Spring[4] - IoC  (0) 2022.06.26

+ Recent posts