관리 메뉴

여름 언덕에서 배운 것

[스프링핵심원리-기본편] 스프링 핵심원리 이해1- 예제만들기 본문

가랑비에 옷 젖는 줄 모른다 💻/스프링

[스프링핵심원리-기본편] 스프링 핵심원리 이해1- 예제만들기

잔뜩 2023. 10. 9. 23:49

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢

www.inflearn.com

지금은 스프링이 없는 순수한 자바로만 개발을 진행

스프링 프로젝트 생성

Artifact는 프로젝트 빌드명이 됩니다.

build.gradle 에서 설정 볼 수있다.

 

비즈니스 요구사항과 설계 - 기획부분

회원 도메인 설계

요구사항 : 회원가입,조회 가능  , 회원은 일반과 vip 등급이 있다 , 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)

 

클래스 다이어그램

-인터페이스,구현클래스 관계도 그린 것

-Impl 은 구현 이란 뜻

 

객체 다이어그램

 - 실제 서버에 올라오면 객체간의 메모리간의 참조가 어떻게 되는지 그린 것

 

 

  1. 클래스 다이어그램 (Class Diagram):
    • 클래스 다이어그램은 시스템의 정적 구조를 표현하는 UML (Unified Modeling Language) 다이어그램 중 하나입니다.
    • 클래스, 인터페이스, 상속, 의존성, 관계 등의 요소로 구성됩니다.
    • 시스템의 주요 클래스와 그들 사이의 관계를 표현하며, 객체 지향 설계의 핵심 구성 요소를 시각화합니다.
  2. 객체 다이어그램 (Object Diagram):
    • 객체 다이어그램은 시스템의 런타임 인스턴스와 그들 사이의 연결을 표현하는 UML 다이어그램입니다.
    • 특정 시점에서 시스템의 실제 인스턴스와 그들 간의 관계를 나타냅니다.
    • 클래스 다이어그램이 시스템의 일반적인 구조를 표현한다면, 객체 다이어그램은 특정 시점에서의 구체적인 상태와 인터랙션을 표현합니다.

간단히 말하면, 클래스 다이어그램은 시스템의 "설계"나 "틀"을 보여주고,

객체 다이어그램은 그 "설계"를 바탕으로 생성된 실제 "객체"의 상호작용을 보여줍니다.

 

회원 도메인 개발

Java에서 enum은 특별한 종류의 클래스입니다.

이 Enum 클래스는 특정 값을 상수로서 정의하고 사용할 수 있게 해줍니다.

 

데이터 중에는 몇 가지 한정된 값을 갖는 것이 있죠.

가령, 계절의 경우, 봄, 여름 , 가을, 겨울

요일은 월화수목금토일

이와 같이 한정된 값을 갖는 타입을 자바에서는 Enum(열거 타입)이라고 합니다.

Enum을 쓰면 지정된 값만 들어올 수 있기 때문에 이상한 값들을 걸러줄 수 있습니다.

또한, 가독성이 좋은 코드를 작성할 수 있는데요.

if (member.getGrade() == Grade.VIP) {...}

이 코드를 보면 회원등급이 VIP인 경우 중괄호 블록을 실행한다는 것을 단번에 알 수 있겠죠?

그래서 Enum타입을 씁니다.

 

회원 도메인 실행과 테스트

ctrl shift enter 치면 자동완성 () ; 까지

ctrl alt v  - 변수명까지 완성해준다.

 

Junit 테스트

 

 

인터페이스가 아닌 구현체에 의존중...

 

 

주문과 할인 도메인 설계

주문서비스 구현체는 변경하지 않아도 된다.

 

 

728x90