스프링은 자바 언어 기반의 프레임워크자바 언어의 가장 큰 특징인 객체 지향 언어의 장점을 잘 살릴 수 있다.좋은 객체 지향 애플리케이션 개발을 가능하게 하는 프레임워크객체 지향의 핵심 → 다형성다형성은 실세계에 비유된다.역할과 구현으로 구분해보자운전자(클라이언트)는 자
클린코드 저자 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리SRP : 단일 책임 원칙OCP : 개방-폐쇄 원칙LSP : 리스코프 치환 원칙ISP : 인터페이스 분리 원칙DIP : 의존관계 역전 원칙SRP 단일 책임 원칙 : Single Responsibili
지난 시간 이야기다형성만으로는 부족하다 !💡 스프링은 DI와 DI 컨테이너를 통해 다형성과 OCP, DIP를 가능하게 지원한다. 이를 통해 클라이언트 코드의 변경 없이 기능 확장이 가능하다.모든 설계에 역할과 구현을 분리하자좋은 객체 지향 설계 ⇒ 다형성 뿐만 아니라
먼저 스프링의 도움없이 순수하게 자바로만 비즈니스 요구 사항에 따라 코드를 작성한다. 그 후 요구 사항이 변경되었을 때 유연하게 대처할 수 있는지 고민해본다. 다형성, OCP, DIP가 잘 지켜지고있는지? 발생하는 문제들을 객체지향원리를 적용하며 해결한다. 프
주문과 할인 정책회원은 상품 주문 가능회원 등급에 따른 할인 정책 차등 적용모든 VIP는 1000원 할인 (고정 금액 할인) → 추후 변경 가능할인 정책은 변경 가능성이 높음. 회사의 기본 할인 정책은 아직 미확정 상태⇒ 인터페이스를 만들고 구현체를 언제든지 갈아 끼울
이번 시간새로운 할인 정책이 추가되었다 → DIP, OCP 위배지난 시간 코드에 객체지향개념을 잘 적용하여 문제를 해결해보자스프링의 핵심 기능인 스프링 컨테이너가 왜 생겼는지 이해해보자기획자 : 기존의 고정 금액 할인이 아닌 주문 금액 당 할인하는 정률 할인으로 변경해