스프링 핵심 원리(2) - 예제 만들기

박정민·2021년 1월 23일
0

spring

목록 보기
10/16

1. 비즈니스 요구사항과 설계

  • 프로젝트 생성만 spring boot를 사용하고, 이번 예제는 순수하게 자바로만 작성한다.

회원

  • 회원가입, 회원조회
  • 회원등급: 일반, VIP
  • 데이터 저장소 미정(인터페이스)

주문과 할인 정책

  • 상품 주문 기능
  • 회원 등급에 따른 할인 정책
  • 할인 정책 미정(인터페이스)

2. 회원 도메인 설계, 개발

회원 도메인 협력 관계

회원 클래스 다이어그램

회원 도메인 개발(코드)

3. 회원 도메인 실행, 테스트

회원 도메인 - 회원가입 테스트(main함수로)

  • MemberApp class
    • 이렇게 테스트 하는 방법은 좋은 방법이 아니다.

회원 도메인 - 회원가입 테스트(JUnit test)

4. 주문과 할인 도메인 설계, 개발

주문 도메인 협력, 역할, 책임

주문 도메인 클래스 다이어그램

주문과 할인 도메인 개발(코드)

5. 주문과 할인 도메인 실행, 테스트

주문과 할인 정책 테스트(main함수로)

  • OrderApp class
    • 이렇게 테스트 하는 방법은 좋은 방법이 아니다.

주문과 할인 정책 테스트(JUnit test)

6. 회원 도메인 설계의 문제점

문제점(MemberServiceImpl.java)

private final MemberRepository memberRepository = new MemoryMemberRepository();

  • 다른 저장소로 변경할 때 OCP 원칙에 위반 된다.
    • 다른 저장소로 변경할 때, MemberServiceImpl의 위의 코드를 변경해야한다.

  • DIP를 위반한다.
    • 인터페이스만 의존하는게 아니라 구현체도 의존하고 있다.
profile
화이팅!

0개의 댓글

관련 채용 정보