스프링 핵심 원리 - 기본편 - (회원 도메인 개발, 실행과 테스트)

홍범선·2023년 5월 7일
0

스프링

목록 보기
30/35

스프링 핵심 원리 - 기본편 - (회원 도메인 개발)

  1. Enum으로 Grade 만들기

웹 개발을 하다보면 여러 페이지에서 공통적으로 사용하는 데이터를 다루게 되는 경우가 많은데 이러한 데이터를 열거형으로 묶어주면 편리하게 관리할 수 있고, 이것을 구현한 것을 Enum 클래스라고 한다.

  1. Member 객체 만들기

    Member에 필요한 것은 id, name, grade이고 생성자와 getter, setter를 정의해 준다.

  2. MemberRepository 인터페이스 만들기

    이전에서 DB는 아직 정해지지 않았고 언제든지 바뀔 수 있다고 정의하였다. 그래서 개발할 때에는 메모리를 사용하다가 DB가 정해지면 DB를 사용해야 한다. 그래서 회원 저장소라는 인터페이스를 만든다.

  3. MemberRepository 구현체 만들기(메모리)

    메모리에 저장할 것이기 때문에 해쉬맵을 사용하고, 인터페이스에 구현한 메소드를 오버라이딩 한다.

  4. MemberService 인터페이스 만들기
    회원 서비스로는 회원가입, 회원조회가 있었다. 이것을 정의한 인터페이스를 만든다.

  5. MemberService 구현체 만들기

    인터페이스 MemberRepository를 선언해주고 MemoryMemberRepository를 할당한다.

회원 도메인 설계의 문제점
다른 저장소로 변경할 때 OCP 원칙을 잘 준수할까요?
DIP를 잘 지키고 있을 까요?
의존관계가 인터페이스 뿐만 아니라 구현까지 모두 의존하는 문제점이 있음


추상화에 의존하고 있는 것 뿐만 아니라 구현체까지도 의존하고 있음 좋지 않은 방법

스프링 핵심 원리 - 기본편 - (회원 도메인 실행과 테스트)

  1. JUnit 테스트를 사용하지 않고 메인메소드를 생성하여 테스트하기


테스트 가능하나 구체적으로 알지 못함

  1. Junit을 사용하여 테스트하기
profile
알고리즘 정리 블로그입니다.

0개의 댓글