전체 글 (234) 썸네일형 리스트형 [Spring 기본] 주문과 할인 도메인 설계 주문 도메인 협력, 역할, 책임 1. 클라이언트는 주문 서비스에 주문 생성을 요청한다. 2. 회원 조회: 할인을 위해서는 회원 등급이 필요하다. 주문 서비스는 회원 저장소에서 회원을 조회한다. 3. 할인 적용: 주문 서비스는 회원 등급에 따른 할인 여부를 할인 정책에 위임한다. 4. 주문 결과 반환: 주문 서비스는 할인 결과를 포함한 주문 결과를 반환한다. 클래스 다이어그램 => 회원을 메모리에서 조회하고, 정액 할인 정책(고정금액)을 지원해도 주문 서비스를 변경할 필요가 없다. 역할들의 협력 관계를 그대로 재사용 할 수 있다. * 인프런 '스프링 핵심 원리 -기본편' 강의를 참고하여 작성했습니다. [Spring 기본] 회원 도메인 개발 회원 도메인 개발1. member 패키지 생성.2. Grade 클래스 생성. Enum으로 생성한다. Grade.javapackage hello.core.member;public enum Grade { BASIC, VIP} 3. Member 클래스 생성. 생성자와 getter, setter를 만든다. Member.javapublic class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade) { this.id = id; this.name = name; this.grade = gra.. [Java 중급] 공유 참조와 사이드 이펙트 공유 참조와 사이드 이펙트사이드 이펙트(Side Effect)는 프로그래밍에서 어떤 계산이 주된 작업 외에 추가적인 부수 효과를 일으키는 것을 말한다. b.setValue("부산");System.out.println("b -> 부산");System.out.println("a = " + a);System.out.println("b = " + b); => b의 값만 변경하려고 했으나 a의 값도 변경되는 사이드 이펙트가 발생했다. 프로그래밍에서 사이드 이펙트는 보통 부정적인 의미로 사용되는데, 특정 부분에서 발생한 변경이 의도치 않게 다른 부분에 영향을 미치는 경우에 발생한다. 디버깅이 어려워지고 코드의 안정성이 저하된다. 사이드 이펙트의 해결 방안사이드 이펙트는 어떻게 해결할까? 사실 처음부터 다른 객체.. [Java 중급] 기본형과 참조형의 공유 기본형과 참조형의 공유자바에서 제공하는 많은 기본 클래스가 불변 객체로 설계되어 있다. 기본형: 하나의 값을 여러 변수에서 공유하지 않는다. 참조형: 하나의 객체를 참조값을 통해 여러 변수에서 공유할 수 있다. 예제 public class PrimitiveMain { public static void main(String[] args) { //기본형은 절대로 같은 값을 공유하지 않는다. int a = 10; int b = a; // a->b 값 복사 후 대입 System.out.println("a = " + a); System.out.println("b = " + b); b = 20; System.out.pri.. [Java 중급] equals() 동일성과 동등성동일성(Identity) : == 연산자를 사용해서 두 객체의 참조가 동일한 객체를 가리키고 있는지 확인동등성(Equality) : equals() 메서드를 사용하여 두 객체가 논리적으로 동등한지 확인User a = new User("id-100")User b = new User("id-100") => 다른 메모리에 있는 다른 객체이므로 동일성은 다르지만, 회원 번호는 같기 때문에 동등성은 같다. 예제 UserV1.javapublic class UserV1 { private String id; public UserV1(String id) { this.id = id; }} EqualsMainV1.javapublic class EqualsMainV1 { p.. [Spring project] 테이블 설계 테이블 설계단일 테이블로 개발한다. 추후 task 테이블을 분리할 예정 [Spring 기본] 회원 도메인 설계 회원 도메인 설계 회원을 등록/조회할 수 있다. 회원은 일반/VIP 두 가지 등급이 있다. 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. => 메모리 회원 저장소로 먼저 개발을 진행하고 DB로 변경할 예정 회원 클래스 다이어그램 * 인프런 '스프링 핵심 원리 -기본편' 강의를 참고하여 작성했습니다. [Spring 기본] 비즈니스 요구사항과 설계 비즈니스 요구사항회원회원을 등록/조회할 수 있다.회원은 일반/VIP 두 가지 등급이 있다. 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)주문과 할인 정책회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 요구사항 중에 회원 데이터, 할인 정책 같은 부분은 지금 결정하기 어려운 부분이다. 인터페이스를 만들고 구현체를 갈아끼울 수 있도록 개발하자. * 인프런 '스프링 핵심 원리 -기본편' 강의를 참고하여 작성했습니다. 이전 1 ··· 7 8 9 10 11 12 13 ··· 30 다음