분류 전체보기

    Spring 핵심 원리 #2- 주문/할인 도메인 개발

    # 주문과 할인 정책 - 회원은 상품을 주문 할 수 있다. - 회원 등급에 따라서 할인 정책을 적용할 수 있다. - 우선은 VIP는 1000원을 할인해주는 고정 할인금액 정책을 적용한다. (추후에 변경될수도 있다) - 아직 회사의 할인정책이 미정이다. 오픈 직전까지 고민을 미루고싶다. -> 할인 정책을 언제든 유연하게 바꿀 수 있도록 하는 것이 중요해 보인다. # 주문 도메인 다이어그램 1. 주문 생성 : 고객은 주문 서비스에 주문 생성을 요청한다. 2. 회원 조회: 할인을 위해서는 회원 조회가 필요하다. 주문 서비스는 회원 저장소에서 회원을 조회한다. 3. 할인 적용 : 주문 서비스는 회원 등급에 따른 할인 적용을 할인 정책에 위임한다. 4. 주문 결과 반환 : 주문 서비스는 할인 결과를 포함한 주문 ..

    Spring 핵심 원리 #1- 회원 도메인 설계/개발/테스트

    # 요구사항 => 보면 나중에 변경이 가능하거나 미정인 부분이 상당히 많다. 이 때문에 우선 인터페이스를 만들어 구현체를 언제든 갈아끼울수 있도록 설계하는 것이 중요하다. # 회원 도메인 설계 과정 -> 그려본 다이어그램을 확인해보면, DB가 우선 어떻게 될지 결정이 되지 않았기 때문에 저장소를 interface로 구현하고, DB에 따라서 구현체를 만들어 갈아끼우면 확장하기 쉬워진다. 1) 우선 회원 서비스를 실제로 실행하는 부분 인 MemberService를 추상화로 구현해둔 뒤에, 이를 직접 구현체인 MemberServiceImpl로 상속받는다. (최대한 확장을 위해 추상화-구현체 형태로 만들자) 2) 회원 DB에 접근하는 함수 부분(save,findById)등은 MemberRepository int..

    프로그래머스 Level 2- 소수찾기(완전탐색)

    # 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr # Strategy 1) 주어진 숫자를 모두 list에 추가한다 2) permutations 함수를 이용해서 리스트에 해당 숫자로 만들어지는 모든 순열을 문자열 형태로 저장한다. 3) 문자열을 int로 바꾼다. -> 2,3 전략은 한 줄로 통합 가능하다. 4) 차후에 에라토스테네스의 체를 사용해서 소수를 판별하고, 소수로 판별된 숫자..