전체글236 [스프링 핵심 원리 - 기본편] 주문과 할인 도메인 설계 주문 도메인 전체 역할과 구현을 분리해서 자유롭게 구현 객체를 조립할 수 있게 설계했습니다. 덕분에 회원 저장소는 물론이고, 할인 정책도 유연하게 변경할 수 있습니다. 주문 도메인 객체 다이어그램1 회원을 메모리에서 조회하고, 정액 할인 정책(고정 금액)을 지원해도 주문 서비스를 변경하지 않아도 됩니다. 역할들의 협력 관계를 그대로 재사용 할 수 있습니다. 주문 도메인 객체 다이어그램2 회원을 메모리가 아닌 실제 DB에서 조회하고, 정률 할인 정책(주문 금액에 따라 % 할인)을 지원해도 주문 서비스를 변경하지 않아도 됩니다. 협력 관계를 그대로 재사용할 수 있습니다. 참조 스프링 핵심 원리 - 기본편 2021. 9. 8. [스프링 핵심 원리 - 기본편] 회원 도메인 실행과 테스트 회원 도메인 - 회원 가입 main import hello.core.member.Grade; import hello.core.member.Member; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; public class MemberApp { public static void main(String[] args) { MemberService memberService = new MemberServiceImpl(); Member member = new Member(1L, "memberA", Grade.VIP); memberService.join(member); Member findMember = member.. 2021. 9. 8. [스프링 핵심 원리 - 기본편] 회원 도메인 개발 회원 엔티티 회원 등급 public enum Grade { BASIC, VIP } (Grade.java) 회원 엔티티 public 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 = grade; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(Strin.. 2021. 9. 8. [스프링 핵심 원리 - 기본편] 비즈니스 요구사항과 설계 요구사항을 보면 당장 결정하기 어려운 부분이 있을 수 있습니다. 그렇다고 이런 정책이 결정될 때 까지 개발을 무기한 기다릴 수도 없습니다. 이럴 경우 객체 지향 설계 방법을 사용합니다. 인터페이스를 만들고 구현체를 언제든지 갈아끼울 수 있도록 설계하면 됩니다. 참조 스프링 핵심 원리 - 기본편 2021. 9. 8. 이전 1 ··· 27 28 29 30 31 32 33 ··· 59 다음