본문 바로가기

Spring

(12)
소프트웨어 공학 쇼핑몰 만들기 소프트웨어 공학 수업의 과제로 웹 쇼핑몰을 만드는 과제가 주어졌는데, 나의 경우 스프링부트와 JPA를 사용하여 백엔드단 서버를 만들고자 했다. 그런데, 단순히 뚝딱 만들어내는게 아니라 고려해야할 점이 생각보다 많았다.. 개선할 사항을 적어내려 가면서 코드가 어떻게 바뀌어 가는지, 왜 그렇게 바꾸었는지를 확인하고자 한다. 1. 테스트 - 학교 과제나 토이 프로젝트를 할 때는 테스트 코드를 따로 작성하지 않았는데, 최근 인프런을 보면서 공부하는 중에 테스트 코드를 자주 작성하여 검증하는걸 볼 수 있었다. 테스트의 장점은 인터넷에 찾아보면 널리고 널렸지만, 정작 꼼꼼하게 작성하는 사람들은 몇 없을 거라고 생각하여 크게 와닿지는 않았지만 스프링 환경에서 테스트를 지원하는 방식이 다양하고 케이스별로 자세하게 돌릴..
Spring [IoC와 DI] 설명에 들어가기 앞서, 먼저 단어를 정리합니다. 객체 지향의 원리 중 OCP 원칙과 DIP원칙 OCP원칙이란? 개방-폐쇄 원칙, 소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다. DIP원칙이란? 의존 관계를 맺을 때, 변화하기 쉬운 것보다 변화하기 어려운 것에 의존하는 원칙. DIP를 만족하는 설계는 변화에 유연한 시스템이 된다. 요구사항 : 주문과 할인 도메인 설계 주문과 할인 정책 회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인 적용 (나중에 변경될 수 있음) 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, ..