공부/SPRING 3

객체 지향 원리 적용 실습(그룹 스터디)

public class OrderServiceImpl implements OrderService{ private final MemoryRepository memoryRepository = new MemoryMemberRepository(); private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); 위 코드에서 할인정책(discountPolicy)을 고정 할인(FixDiscountPolicy) 에서 비율 할인(RateDiscountPolicy)로 바꿀려한다 private final MemoryRepository memoryRepository = new MemoryMemberRepository(); private final Discount..

공부/SPRING 2024.04.11

SOLID 란?

SOLID는 좋은 객체 지향 설계의 5가지 원칙을 말한다 • SRP: 단일 책임 원칙(single responsibility principle) • OCP: 개방-폐쇄 원칙 (Open/closed principle) • LSP: 리스코프 치환 원칙 (Liskov substitution principle) • ISP: 인터페이스 분리 원칙 (Interface segregation principle) • DIP: 의존관계 역전 원칙 (Dependency inversion principle) 이렇게 5가지이며 이 5가지를 하나씩 알아보자 1. SRP 단일 책임 원칙 한 클래스는 하나의 책임만을 가져야 한다 쉽게말해 변경을 했을때 파급이 적게하는게 단일 책임 원칙을 다른것 극단적인 예로 UI하나의 변경을 하는데..

공부/SPRING 2024.04.10

스프링 웹 개발 기초(정적 컨텐츠, MVC와 템플릿 엔진,API)

스프링 웹 개발 기초 1. 정적 컨텐츠 : 파일을 있는 그대로 웹브라우저에게 보내는 방식 동작 >> 웹브라우저에서 localhost8080/hello-static.html 검색하면 내장 톰캣서버가 이 요청을 받고 먼저 컨트롤러가 있는지 찾아보고 없으면 resources: static/hello-static.html을 찾아 서 반환 2. MVC와 템플릿 엔진 : 서버에서 바꿔서 html을 전달하는 방식 MVC : Model,View,Controller (관심사의 분리) 동작 >> localhost:8080/hello-mvc 넘기면 내장톰캣이 spring에게 전달 helloController에 Mapping이 된걸 확인하고 그 메서드를 호출, return해줄때 이름은 hello-template로 model에..

공부/SPRING 2024.04.08