일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 페이코 추천인코드
- 자바
- 페이코 추천인
- php 프로그래밍
- 백준
- 플러터 개발환경 설정
- Java
- 파이썬
- php 프로그래밍 입문 솔루션
- 최단 경로
- 한정 분기
- 배열
- php 프로그래밍 입문 예제
- SWEA
- C
- php 프로그래밍 입문
- php 프로그래밍 입문 연습문제
- php
- spring
- 스프링
- JAVA SPRING
- 플러터
- Flutter
- 페이코 친구코드
- programmers
- 페이코 초대코드
- C언어
- php 프로그래밍 입문 3판
- 자바 스프링
- php 프로그래밍 입문 문제풀이
- Today
- Total
목록분류 전체보기 (587)
ImJay

[Java Spring] 2-16. 새로운 할인 정책 적용과 문제점 1. 할인 정책을 애플리케이션에 적용해보자. 2. 할인 정책을 변경하려면 클라이언트인 OrderServiceImpl 코드를 고쳐야 한다 public class OrderServiceImpl implements OrderService { // private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); private final DiscountPolicy discountPolicy = new RateDiscountPolicy(); } 3. 문제점 발견 우리는 역할과 구현을 충실하게 분리했다. OK 다형성도 활용하고, 인터페이스와 구현 객체를 분리했다. OK OCP, DIP 같..

[Java Spring] 2-15. 새로운 할인 정책 개발 1. 새로운 할인 정책을 확장해보자. - 악덕 기획자: 서비스 오픈 직전에 할인 정책을 지금처럼 고정 금액 할인이 아니라 좀 더 합리적인 주문 금액당 할인하는 정률% 할인으로 변경하고 싶어요. 예를 들어서 기존 정책은 VIP가 10000원을 주문하든 20000원을 주문하든 항상 1000원을 할인했는데, 이번에 새로 나온 정책은 10%로 지정해두면 고객이 10000원 주문시 1000원을 할인해주고, 20000원 주문시에 2000원을 할인해주는 거에요! - 순진 개발자: 제가 처음부터 고정 금액 할인은 아니라고 했잖아요. - 악덕 기획자: 애자일 소프트웨어 개발 선언 몰라요? “계획을 따르기보다 변화에 대응하기를” - 순진 개발자: … (하지만 난 ..

[Java Spring] 2-14. 주문과 할인 도메인 실행과 테스트 1. main > java > hello.core 패키지 내에 OrderApp 클래스 생성 2. 코드 작성 package hello.core; import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.order.Order; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; public class OrderA..

[Java Spring] 2-13. 주문과 할인 도메인 개발 1. main > java > hello.core 에 discount 패키지 생성 2. DiscountPolicy 인터페이스 생성 3. 코드 작성 package hello.core.discount; import hello.core.member.Member; public interface DiscountPolicy { /** * @return 할인 대상 금액 */ int discount(Member member, int price); } 4. FixDiscountPolicy 클래스 생성 5. 코드 작성 package hello.core.discount; import hello.core.member.Grade; import hello.core.me..

[Java Spring] 2-12. 주문과 할인 도메인 설계 1. 주문과 할인 정책 회원은 상품을 주문할 수 있다. - 회원 등급에 따라 할인 정책을 적용할 수 있다. - 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수 있다.) - 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수도 있다. (미확정) 2. 주문 도메인 협력, 역할, 책임 2-1. 주문 생성: 클라이언트는 주문 서비스에 주문 생성을 요청한다. 2-2. 회원 조회: 할인을 위해서는 회원 등급이 필요하다. 그래서 주문 서비스는 회원 저장소에서 회원을 조회한다. 2-3. 할인 적용: 주문 ..

[Java Spring] 2-11. 회원 도메인 실행과 테스트 1. 앞서 클래스 다이어그램은 정적이고, 객체 다이어그램은 동적이라고 설명한 바 있다. 2. 이전 시간 클래스 다이어그램을 바탕으로 프로그램을 작성하였다. 이번에는 실행과 테스트로 객체 다이어그램에 대한 프로그램을 제작해보자. 3. hello.core 패키지 내에 MemberApp 클래스 생성 4. 코드 작성 package hello.core; import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; public class MemberA..

[Java Spring] 2-10. 회원 도메인 개발 1. java/hello/core 에 member 패키지 생성 2. member 패키지에 Grade enum 생성 3. 코드 작성 package hello.core.member; public enum Grade { BASIC, VIP } - 회원 등급은 일반 회원, VIP 회원으로 나뉜다고 조건에서 정했다. 4. member 패키지에 Member class 생성 5. 코드 작성 package hello.core.member; public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade..

[Java Spring] 2-9. 회원 도메인 설계 1. 회원 도메인 요구사항 - 회원을 가입하고 조회할 수 있다. - 회원은 일반과 VIP 두 가지 등급이 있다. - 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) 2. 회원 도메인 협력 관계 - 도메인 협력 관계는 기획자들도 볼 수 있는 그림이다. 3. 회원 클래스 다이어그램 - 클래스 다이어그램은 도메인 협력 관계를 바탕으로 개발자들이 구체화한 그림이다. - 클래스 다이어그램은 실제 서버를 실행하지 않고, 클래스들만 분석해서 볼 수 있는 그림이다. 4. 회원 객체 다이어그램 - 클래스 다이어그램에서 MemoryMemberRepository 가 들어갈지, DbMemberRepository 가 들어갈지 동적으로 결..

[Java Spring] 2-8. 비즈니스 요구사항과 설계 1. 회원 - 회원을 가입하고 조회할 수 있다. - 회원은 일반과 VIP 두 가지 등급이 있다. - 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) 2. 주문과 할인 - 정책 회원은 상품을 주문할 수 있다. - 회원 등급에 따라 할인 정책을 적용할 수 있다. - 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수 있다.) - 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수 도 있다. (미확정) 3. 요구사항을 보면 회원 데이터, 할인 정책 같은 부분은 지..

[Java Spring] 2-7. 프로젝트 생성 1. 사전 준비물 - Java 17 설치 - IDE: IntelliJ 또는 Eclipse 설치 2. 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 - Spring Boot 버전과 Java 버전은 자신에게 맞는 걸로 선택 - 3.0.2 버전은 자바 17부터 호환 가능 세팅 완료 후 GENERATE 버튼 클릭 3. 본인의 작업공간에 압축해제 4. IntelliJ 실행 후 해당 프로젝트 열기 5. 실행하여 정상적으로 생성되었는지 확인 6. IntelliJ 설정에서 Gradle 검색 후 빌드, 테스트를 IntelliJ 로 설정해준다. (프로젝트 생성시 항상 해줄 것)